如何计算asp.net中数据表列的总和?

the*_*van 62 c# asp.net datatable user-controls

我有一个DataTable有5列:

  • ID
  • 名称
  • 帐号

DataTable包含5行.

如何将标签控件中的金额列的总和显示为"总金额"?

Jay*_*ggs 129

要计算DataTable中列的总和,请使用DataTable.Compute方法.

链接的MSDN文章的使用示例:

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

// Declare an object variable.
object sumObject;
sumObject = table.Compute("Sum(Amount)", string.Empty);
Run Code Online (Sandbox Code Playgroud)

在总金额标签中显示结果,如下所示:

lblTotalAmount.Text = sumObject.ToString();
Run Code Online (Sandbox Code Playgroud)


Tho*_*mas 31

 this.LabelControl.Text = datatable.AsEnumerable()
    .Sum(x => x.Field<int>("Amount"))
    .ToString();
Run Code Online (Sandbox Code Playgroud)

如果要筛选结果:

 this.LabelControl.Text = datatable.AsEnumerable()
    .Where(y => y.Field<string>("SomeCol") != "foo")
    .Sum(x => x.Field<int>("MyColumn") )
    .ToString();
Run Code Online (Sandbox Code Playgroud)


Muh*_*tar 15

你可以这样做..

DataRow[] dr = dtbl.Select("SUM(Amount)");
txtTotalAmount.Text = Convert.ToString(dr[0]);
Run Code Online (Sandbox Code Playgroud)


FIr*_*nda 8

如果您有ADO.Net DataTable,那么您可以这样做

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

如果要查询数据库表,可以使用

Select Sum(Amount) From DataTable
Run Code Online (Sandbox Code Playgroud)


小智 5

  public decimal Total()
    {
      decimal decTotal=(datagridview1.DataSource as DataTable).Compute("Sum(FieldName)","");
      return decTotal;
    }
Run Code Online (Sandbox Code Playgroud)


Aru*_*E S 5

计算数据表中列的总和,有效率为100%

lbl_TotaAmt.Text = MyDataTable.Compute("Sum(BalAmt)", "").ToString();
Run Code Online (Sandbox Code Playgroud)

如果您有任何条件,请像这样使用

   lbl_TotaAmt.Text = MyDataTable.Compute("Sum(BalAmt)", "srno=1 or srno in(1,2)").ToString();
Run Code Online (Sandbox Code Playgroud)