c#
  • datatable
  • 2017-05-19 23 views 1 likes 
    1

    datatableの特定の列の値を合計します。列xは値と同じです。列yは別の値と同じです。どのように私はフィルタリングすることができます。これは、正常に動作します複数のフィルタを使用してdatatableを計算するにはどうすればよいですか?

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

    、しかし、私は今、フィルターに別の列を追加したいので、dt.Compute("Sum([Cost])", "[COLUMNX] = 'blah'", "[COLUMNY] = 'blah'");

    のようなもの:私は次のように私は、列X上でフィルタリングしたときにこれを実装することができます2つの異なる列をしてください。 here

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

    またはLINQツーたDataTableは制限がありませんして説明したように

    +0

    あなたは ' –

    答えて

    2

    あなたはANDを使用することができます。

    double sumCost = dt.AsEnumerable() 
        .Where(r => r.Field<string>("COLUMNX")=="blah" && r.Field<string>("COLUMNY")=="blah") 
        .Sum(r => r.Field<double>("Cost")); 
    
    +0

    Dohの'を試してみました... AND ...あり!それは、と同じくらい単純なことが分かっていたはずです! – LeedsWalker

    関連する問題