ASP.NET c#将行添加到数据集

时间:2011-06-17 10:10:32

标签: c# asp.net dataset

我有一个数据集,我用它来计算一些销售数字,这个数据集有大约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
    }

2 个答案:

答案 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);