![](/img/trans.png)
[英]how to calculate sum of times in a column using foreach loop ASP.NET MVC
[英]How to calculate the sum of the datatable column in asp.net?
我有一个有 5 列的 DataTable:
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.