私は DataTable にコピーする Linq クエリを持っており、これを使用してグリッドビューを作成します。リピーター付きのマスター/詳細グリッドビューのaspxページで評価する「キー」と「カウント」によるグループを使用しています。
私が遭遇している問題は、グリッドビュー データソースとデータ テーブルへのバインドが、データの一部である追加のページを表示しないことです。私のクエリは次のとおりです。
// 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) にコピーすると、ページング機能が失われます。
また、「項目」の一部である場合、列名 (たとえば「オプション」) から値を取得するにはどうすればよいですか?
どんな助けでも大歓迎です。ありがとう、ChrisB