0

我有一个 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)

我希望我的问题很清楚.. 我该怎么做..??

4

1 回答 1

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();
于 2013-07-24T11:15:26.453 回答