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-DataTableEnumerable.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;
}

现在您可以使用 aDataAdapterDataTable.

于 2012-10-08T07:53:02.407 回答