-1

System.Linq.Dynamic を使用して、linq を使用して列を動的にグループ化し、実行する必要があります

列を合計するにはどうすればよいですか ie(Sum(Deposits))。ユーザーは実行時にテーブルと列を選択します。 ここに画像の説明を入力 例: 上記の表には、Territory、State、BankName、Year、QuarterFromMainT があります。

ユーザーがグループ化のためにこれらの列 (Territory、State、BankName) を選択し、列 ex:Deposits を合計したいとします。これどうやってするの?ASEnumerable と AsQueryable だけが合計しか持たないためです。groupby と sum を実行する必要があります

詳細については、ここをクリックしてください。私のコードは次のとおりです。

ここに画像の説明を入力

ここで t1 はテーブルで、qfields はグループ化列を含むリストです。

groupbyの後にlinqを使用して列を合計するにはどうすればよいですか?

4

2 に答える 2

0

これのことですか?そうでない方はご遠慮ください...

var query = rows
    .GroupBy(row => new { row.Territory, row.State, row.BankName })
    .Select(group => new
    {
        group.Key.Territory, group.Key.State, group.Key.BankName,
        Deposits = group.Sum(row => row.Deposits)
    });
于 2013-08-07T17:08:08.730 に答える
0

合計金額を表示するには、フッター テキストを設定する必要があります

例:

 <asp:BoundField DataField="Deposits" 
             FooterText="Total Desposits" />

そしてGridviewでは、このようなコーディングを書く必要があります

 Gridview.Columns[4].FooterText = dt.AsEnumerable().Select(x => x.Field<int>("Desposits")).Sum().ToString();

        Gridview.DataSource = dt;

        Gridview.DataBind();

私のアプリケーションで動作しています。ご都合に合わせてご利用いただけます。

于 2013-08-07T17:23:55.850 に答える