Mam zapytanie Linq, które kopiuję do tabeli DataTable, która jest następnie używana do wypełniania widoku siatki. Używam grupy według „klucza” i „liczby”, którą oceniam na stronie aspx dla widoku siatki wzorcowej/szczegółowej z wzmacniakiem.
Problem, na który napotykam, polega na tym, że źródło danych gridview i powiązanie z tabelą danych nie wyświetla mi żadnych dodatkowych stron będących częścią danych. Moje zapytanie brzmi:
// Using Linq generate the query command from the DataTable
var query = from c in dtDataTable_GridView.AsEnumerable()
group c by c.Field<string>("CLIN") into g
select new
{
Key = g.Key,
Count = g.Count(),
Items = from i in g
select new
{
CLIN = i.Field<string>("CLIN"),
SLIN = i.Field<string>("SLIN"),
ACRN = i.Field<string>("ACRN"),
CLINType = i.Field<string>("CLINType"),
Option = i.Field<string>("Option"),
Unit = i.Field<string>("Unit")
}
};
// Use extension methods to create new DataTable from query
dtTaskOrderTable = query.CopyToDataTable();
// Set the datasource
gridview1.DataSource = dtTaskOrderTable;
// Bind to the GridView
gridview1.DataBind();
Jeśli używam bezpośrednio oryginalnej tabeli danych (dtDataTable_GridView), mam stronicowanie, ale kiedy wykonam zapytanie Linq i skopiuję je z powrotem do nowej tabeli danych (dtTaskOrderTable), tracę funkcję stronicowania.
Ponadto jak uzyskać wartość z nazwy kolumny (na przykład „Opcja”), jeśli jest ona częścią „Elementów”?
Każda pomoc byłaby mile widziana. Dziękuję, ChrisB