如何使用多个过滤器计算数据表?

Lee*_*ker 2 c# datatable

我想对 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'");

请问如何过滤两个不同的列。

Tim*_*ter 5

您可以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)