日期:2014-05-20  浏览次数:21168 次

DataGridView 如何Group by
现有一个支付列表:
支付代码 支付名称 金额
101 现金 50
101 现金 100
102 储值 200
103 积分 50
102 储值 60

如何计算出结果
101 现金 150
102 储值 260
103 积分 50


------解决方案--------------------
var dt= (DataTable)DataGridView.DataSource;
var query=from t in dt.AsEnumerable()
group t by new {A=t.Field<int>("支付代码"),B=t.Field<string>("支付名称")} into g
select new 
{
支付代码=g.Key.A, 
支付名称=g.Key.B,
金额=g.Sum(m=>m.Field<int>("金额"))
};