按DataTable列总和分组

Nit*_*esh 4 c# datatable winforms

在下面的代码中查找sum of Rate columnDataTable dt

dt.Compute("Sum(Convert(Rate, 'System.Int32'))");
Run Code Online (Sandbox Code Playgroud)

在这种情况下,可以group by clause like SQL根据相同dt Fo的另一列中的值来分配Inn订单以获得Sum,例如:

----------------------------
Rate | Group
----------------------------
100  | A
120  | B
70   | A
----------------------------
Run Code Online (Sandbox Code Playgroud)

我只是想得到Sum A=170一个Sum B=120.

ada*_*ost 13

试试LINQ,

var result = from tab in dt.AsEnumerable()
              group tab by tab["Group"]
                into groupDt
                 select new 
                  { 
                    Group = groupDt.Key,  
                    Sum=groupDt.Sum((r)=> decimal.Parse(r["Rate"].ToString()))
                  };
Run Code Online (Sandbox Code Playgroud)