2

列(「利益」)を持つDataTableがあります。私が欲しいのは、このテーブルのすべての値の合計を取得することです。私は次の方法でこれをやろうとしました...

DataTable dsTemp = new DataTable();

dsTemp.Columns.Add("Profit");

DataRow dr = null;

dr = dsTemp.NewRow();
dr["Profit"] = 100;
dsTemp.Rows.Add(dr);

dr = dsTemp.NewRow();
dr["Profit"] = 200;
dsTemp.Rows.Add(dr);

DataView dvTotal = dsTemp.DefaultView;
dvTotal.RowFilter = " SUM ( Profit ) ";

DataTable dt = dvTotal.ToTable();

しかし、フィルターの適用中にエラーが発生します...変数の利益列の合計を取得するにはどうすればよいですか

ありがとうございました...

4

2 に答える 2

4

データ列を数値型(int、decimalなど)に設定します。

DataColumn col = new DataColumn("Profit", typeof(int));
dsTemp.Columns.Add(col);

Computeを使用する:

int total = dsTemp.Compute("Sum(Profit)", "");

集約は一種のフィルターではないことに注意してください。これは、使用しているアプローチの主な問題です。

于 2010-05-24T11:00:47.173 に答える