我有一个 DataTable,其中有 5 列:
- ID(编号)
- Name(姓名)
- Account Number(账户号码)
- Branch(分行)
- Amount(金额)
该 DataTable 包含 5 行。
如何在标签控件中显示“总金额”作为 Amount 列的总和?
我有一个 DataTable,其中有 5 列:
该 DataTable 包含 5 行。
如何在标签控件中显示“总金额”作为 Amount 列的总和?
要计算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();
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]);
int sum = 0;
foreach(DataRow dr in dataTable.Rows)
{
sum += Convert.ToInt32(dr["Amount"]);
}
如果你想查询数据库表,可以使用以下方式:
Select Sum(Amount) From DataTable
计算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();
public decimal Total()
{
decimal decTotal=(datagridview1.DataSource as DataTable).Compute("Sum(FieldName)","");
return decTotal;
}
var allEntries = from r in dt.AsEnumerable()
select r["Amount"];
使用命名空间 using System.Linq;
你可以在C#中使用datatable找到样本总数、小计和总计,详情请查看我的博客
我认为这个问题已经解决了
using System.Linq;
(datagridview1.DataSource as DataTable).AsEnumerable().Sum(c => c.Field<double>("valor"))
int sum = 0;
foreach (DataRow dr in dt.Rows)
{
dynamic value = dr[index].ToString();
if (!string.IsNullOrEmpty(value))
{
sum += Convert.ToInt32(value);
}
}
<td><b>£@Model.Sum(i => i.Amount)</b></td>
你可以移除HTML标签,我只是为了帮助示例而将它们留在那里。