0

linq を使用して列を動的にグループ化する必要があります。つまり、ユーザーは実行時にテーブルと列を選択します。

ここに画像の説明を入力

例: 上記の表にはテリトリーがあり、

州、銀行名、

ユーザーがグループ化のためにこれらの列を選択したと仮定します (地域、銀行名)

これを行うためにlinqをどのように使用できますか?

4

1 に答える 1

1

System.Linq.Dynamicを使用することもできます

var fields = new List<string>() { "Territory", "Bank Name"};
var qfields = string.Join(", ", fields.Select(x => "it[\"" + x + "\"] as " + x));

var q = dt
    .AsEnumerable()
    .AsQueryable()
    .GroupBy("new(" + qfields + ")", "it")
    .Select("new (it as Data)");
foreach (dynamic d in q)
{
    foreach (var row in d.Data)
    {
       // Do your work here, using d.Territory
    }  
}

この投稿を確認する列名のリストに基づいてデータテーブルを複数のデータテーブルに分割する

于 2013-08-05T14:54:34.850 に答える