【问题标题】:How to compute datatable with multiple filters?如何使用多个过滤器计算数据表?
【发布时间】:2017-05-19 11:52:59
【问题描述】:

我想对我的datatable 上某个列的值求和,其中 x 列等于一个值,y 列等于另一个值。当我按如下方式过滤列 X 时,我可以实现这一点:

dt.Compute("Sum([Cost])", "[COLUMNX] = 'blah'");  

这很好用,但是我现在想在过滤器中添加另一列,比如dt.Compute("Sum([Cost])", "[COLUMNX] = 'blah'", "[COLUMNY] = 'blah'");

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

【问题讨论】:

    标签: c# datatable


    【解决方案1】:

    您可以按照here 的说明使用AND

    dt.Compute("Sum([Cost])", "[COLUMNX] = 'blah' AND [COLUMNY] = 'blah'");  
    

    或使用没有限制的 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"));
    

    【讨论】:

    • 噢!应该知道它会像 and 一样简单!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 2012-06-23
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    相关资源
    最近更新 更多