0

次のようなデータセットがあります-

  Currency        amount

    USD         1245
    INR         564
    USD         45645
    INR         5676
    JPY         5677

通貨別にグループ化し、金額も集計して、同じデータセットを更新したいと考えています。

最終的なデータセットは次のようになります -

Currency     Amount  
USD           46890
INR           6240
JPY           5677
4

1 に答える 1

1

あなたが使用することができLinq-To-DataTableますEnumerable.GroupBy

var grouped = table.AsEnumerable()
                   .GroupBy(r => f.Field<String>("Currency"))
                   .Select( g => new  { 
                            Currency = g.Key, 
                            Amount = g.Sum(r => r.Field<int>("amount")) 
                   });

var table2 = table.Clone(); // you can also just use the original table, i just didn't want to merge the data here
foreach(var grp in grouped)
{
    var newRow = table2.Rows.Add();
    newRow.SetField("Currency") = grp.Currency;
    newRow.SetField("amount") = grp.Amount;
}

DataAdapterこれで、を使用してからデータベースを更新できますDataTable

于 2012-10-08T07:53:02.407 に答える