ASP.NET c # добавление строки в набор данных - PullRequest
1 голос
/ 17 июня 2011

У меня есть набор данных, который я использую для вычисления некоторых показателей продаж, этот набор данных содержит около 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 ]

4 голосов
/ 17 июня 2011

Посмотрите на метод 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

Отредактировано согласно вашей новой информации

2 голосов
/ 17 июня 2011

Как: добавить строки в таблицу данных

DataRow newCustomersRow = dataSet1.Tables["Customers"].NewRow();

newCustomersRow["CustomerID"] = "ALFKI";
newCustomersRow["CompanyName"] = "Alfreds Futterkiste";

dataSet1.Tables["Customers"].Rows.Add(newCustomersRow);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...