У меня есть запрос Linq, который я копирую в DataTable, который затем используется для заполнения представления сетки. Я использую группу по «ключу» и «счетчику», которую я оцениваю на странице aspx для основного / подробного представления сетки с повторителем.
Проблема, с которой я сталкиваюсь, заключается в том, что источник данных gridview и привязка к datatable не предоставляют мне никаких дополнительных страниц, которые являются частью данных. Мой запрос:
// 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();
Если я использую исходную таблицу данных (dtDataTable_GridView) напрямую, у меня есть разбиение на страницы, но как только я выполняю запрос Linq и копирую его обратно в новую таблицу данных (dtTaskOrderTable), я теряю функцию разбиения на страницы.
Также как мне получить значение из имени столбца (например, «Option»), если оно является частью «Items»?
Любая помощь будет оценена. Спасибо, ChrisB