我想对 my 上某个列的值求和datatable,其中 x 列等于一个值,而 y 列等于另一个值。当我按如下方式对 X 列进行过滤时,我可以实现这一点:
dt.Compute("Sum([Cost])", "[COLUMNX] = 'blah'");
Run Code Online (Sandbox Code Playgroud)
这工作正常,但是我现在想向过滤器添加另一列,所以像 dt.Compute("Sum([Cost])", "[COLUMNX] = 'blah'", "[COLUMNY] = 'blah'");
请问如何过滤两个不同的列。
您可以AND按照此处的说明使用
dt.Compute("Sum([Cost])", "[COLUMNX] = 'blah' AND [COLUMNY] = 'blah'");
Run Code Online (Sandbox Code Playgroud)
或使用没有限制的 LInq-To-DataTable:
double sumCost = dt.AsEnumerable()
.Where(r => r.Field<string>("COLUMNX")=="blah" && r.Field<string>("COLUMNY")=="blah")
.Sum(r => r.Field<double>("Cost"));
Run Code Online (Sandbox Code Playgroud)