web-dev-qa-db-ja.com

asp.netのdatatable列の合計を計算する方法は?

5列のDataTableがあります。

  • ID
  • 名前
  • 口座番号
  • ブランチ

DataTableには5行が含まれています。

ラベルコントロールの金額列の合計を「合計金額」として表示するにはどうすればよいですか?

59
thevan

DataTableの列の合計を計算するには、 DataTable.Compute メソッドを使用します。

リンクされたMSDN記事の使用例:

DataTable table = dataSet.Tables["YourTableName"];

// Declare an object variable.
object sumObject;
sumObject = table.Compute("Sum(Amount)", string.Empty);

結果を合計金額ラベルに次のように表示します。

lblTotalAmount.Text = sumObject.ToString();
125
Jay Riggs
 this.LabelControl.Text = datatable.AsEnumerable()
    .Sum(x => x.Field<int>("Amount"))
    .ToString();

結果をフィルタリングする場合:

 this.LabelControl.Text = datatable.AsEnumerable()
    .Where(y => y.Field<string>("SomeCol") != "foo")
    .Sum(x => x.Field<int>("MyColumn") )
    .ToString();
30
Thomas

好きなことができます。

DataRow[] dr = dtbl.Select("SUM(Amount)");
txtTotalAmount.Text = Convert.ToString(dr[0]);
15
Muhammad Akhtar

ADO.Net DataTableがあれば、できること

int sum = 0;
foreach(DataRow dr in dataTable.Rows)
{
   sum += Convert.ToInt32(dr["Amount"]);
}

データベーステーブルをクエリする場合は、使用できます

Select Sum(Amount) From DataTable
8
FIre Panda

Datatableの列の合計を計算し、100%動作します

lbl_TotaAmt.Text = MyDataTable.Compute("Sum(BalAmt)", "").ToString();

条件が必要な場合は、次のように使用します

   lbl_TotaAmt.Text = MyDataTable.Compute("Sum(BalAmt)", "srno=1 or srno in(1,2)").ToString();
5
Arun Prasad E S
  public decimal Total()
    {
      decimal decTotal=(datagridview1.DataSource as DataTable).Compute("Sum(FieldName)","");
      return decTotal;
    }
5
Buntha Khin

名前のグループ化によりLinqを使用できます

  var allEntries = from r in dt.AsEnumerable()
                            select r["Amount"];

名前空間using System.Linq;を使用

Myblog のc#を使用して、datatableでサンプルの合計、小計、総計を見つけることができます。

これは解決すると思う

using System.Linq;


(datagridview1.DataSource as DataTable).AsEnumerable().Sum(c => c.Field<double>("valor"))
0

これを試して

int sum = 0;
foreach (DataRow dr in dt.Rows)
{
     dynamic value = dr[index].ToString();
     if (!string.IsNullOrEmpty(value))
     { 
         sum += Convert.ToInt32(value);
     }
}
0
Developer