我有一个 Linq 查询,我将其复制到 DataTable,然后用于填充 gridview。我正在使用一个按“键”和“计数”的组,我在 aspx 页面中对带有中继器的主/详细网格视图进行评估。
我遇到的问题是 gridview 数据源和绑定到数据表没有向我提供任何属于数据的其他页面。我的查询是:
// 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) 我就会失去分页功能。
另外,如果列名(例如“选项”)是“项目”的一部分,我如何从它获取值?
任何帮助,将不胜感激。谢谢,克里斯B