我有一个DataTable,在该表中我有2列Task_Name和Hours。
Task_Name Hours
-----------------
Proj1 2
Proj2 3
Proj1 3
Proj1 2
Proj2 5
现在我最终想要的是一个DataTable,它将导致: -
Task_Name Hours
------------------
Proj1 7(addition of hours related to Proj1)
Proj2 8(addition of hours related to Proj2)
我希望我的问题清楚...... 我怎么能这样做.. ??
答案 0 :(得分:2)
您可以使用LINQ to DataSet。计算任务的汇总小时数:
var query = from r in table.AsEnumerable()
group r by r.Field<string>("Task_Name") into g
select new {
Task_Name = g.Key,
Hours = g.Sum(x => x.Field<int>("Hours"))
};
并使用此CopyToDataTable()扩展名从匿名类型创建新的DataTable(如果您确实需要DataTable):
var result = query.CopyToDataTable();