簡體   English   中英

如何計算asp.net中數據表列的總和?

[英]How to calculate the sum of the datatable column in asp.net?

我有一個有 5 列的 DataTable:

  • ID
  • 姓名
  • 帳號
  • 分支
  • 數量

DataTable 包含 5 行。

如何將 Label 控件中的金額列的總和顯示為“總金額”?

要計算 DataTable 中列的總和,請使用DataTable.Compute方法。

鏈接的 MSDN 文章中的使用示例:

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

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

在總金額 Label 中顯示結果,如下所示:

lblTotalAmount.Text = sumObject.ToString();
 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();

你可以這樣做..

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

如果你有一個 ADO.Net DataTable 你可以做

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

如果要查詢數據庫表,可以使用

Select Sum(Amount) From DataTable
  public decimal Total()
    {
      decimal decTotal=(datagridview1.DataSource as DataTable).Compute("Sum(FieldName)","");
      return decTotal;
    }

計算數據表中列的總和,100% 有效

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

如果你想有任何條件,像這樣使用它

   lbl_TotaAmt.Text = MyDataTable.Compute("Sum(BalAmt)", "srno=1 or srno in(1,2)").ToString();

您可以按名稱分組使用 Linq

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

使用名稱空間using System.Linq;

您可以在Myblog上使用 c# 在數據表中找到樣本總計、小計、總計

嘗試這個

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

我認為這解決了

using System.Linq;


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

如果您想在您的 cshtml 文件中執行此操作,您可以這樣編寫(包括 LAMBDA 表達式):

<td><b>£@Model.Sum(i => i.Amount)</b></td>

您可以刪除 html 標簽,我只是將它們留在里面以嘗試幫助示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM