我有一个数据集,我用它来计算一些销售数字,这个数据集有大约15列我想在数据集的末尾添加一个新行来计算每列的总和。下面是数据集外观的一个例子
NAME | GP | ORD_GP | EXP | TOTAL GP
a 206 48 -239 15
b 0 27 0 27
所以我想要做的就是在最后添加另一行来计算每一行的总和,使它看起来像
NAME | GP | ORD_GP | EXP | TOTAL GP
a 206 48 -239 15
b 0 27 0 27
TOTAL 206 75 -239 42
到目前为止我已经
了 ds.Tables[0].Rows.Add("TOTAL");
foreach (DataColumn dc in ds.Tables[0].Columns)
{
// add upp column data and put into toal field
}
答案 0 :(得分:4)
查看DataTable.Compute方法:
private void AddTotalRow(DataTable dt)
{
DataRow dr = dt.NewRow();
dr["NAME"] = "TOTAL";
dr["GP"] = dt.Compute("Sum(GP)", null);
dr["ORD_GP"] = dt.Compute("Sum(ORD_GP)", null);
dr["EXP"] = dt.Compute("Sum(EXP)", null);
dr["TOTAL_GP"] = dt.Compute("Sum(TOTAL_GP)", null);
dt.Rows.Add(dr);
}
您只能调用此函数一次,例如:
AddTotalRow(ds.Tables[0]);
//Now the first DataTable in your DataSet has an additonal record with the total values
根据您的新信息进行编辑
答案 1 :(得分:2)
How to: Add Rows to a DataTable
DataRow newCustomersRow = dataSet1.Tables["Customers"].NewRow();
newCustomersRow["CustomerID"] = "ALFKI";
newCustomersRow["CompanyName"] = "Alfreds Futterkiste";
dataSet1.Tables["Customers"].Rows.Add(newCustomersRow);