c#将DataRow添加到单独函数中的表中

时间:2012-06-12 16:16:28

标签: c# asp.net

我需要在表格中添加一些“总行数”。我目前用于子总计的代码是:

DataRow shRow = ds.Tables[0].NewRow();
shRow["a"] = "SubHead";
shRow["b"] = "Wheel Subs";
shRow["c"] = totalWheels;

由于我需要总计和子总数以及子小计,我必须为每个新的子总数剪切并粘贴此代码(更改值)。

我想要一个获取当前表和值并添加新行的函数。 类似的东西:

public DataRow SubRow(DataTable ResultsTable, string SubHead, string SubHeader, string SubHeadValue)

然后将更新main函数中的表。

感谢您的帮助。 我只是无法将表传递给新功能。

2 个答案:

答案 0 :(得分:0)

那有什么不对吗?

public DataRow SubRow(DataTable resultsTable, string subHead, string subHeader, string subHeadValue)
{
    DataRow shRow = resultsTable.NewRow();
    shRow["a"] = subHead;
    shRow["b"] = subHeader;
    shRow["c"] = subHeadValue;
    return shRow;
}

用法:

DataRow shRow = SubRow(ds.Tables[0], "SubHead", "Wheel Subs", totalWheels);

顺便说一下,这不会将行添加到表中,而只是创建一个可以适当放入表中的行。如果您确实想要将行添加到表中,则可以执行以下操作:

DataRow row = ds.Tables[0].Rows.Add("SubHead", "Wheel Subs", totalWheels);

这会将具有给定值的行添加到数据表的Add方法,并返回已添加的行。

答案 1 :(得分:0)

  

我想要一个能够获取当前表的函数   值并添加新行

public DataTable CreateNewRow(DataTable ResultsTable, String ColumnA, 
      String ColumnB, String ColumnC, String ColumnAVal, String ColumnBVal, 
      String ColumnCVal)
{
    DataRow shRow = ResultsTable.NewRow();
    shRow[ColumnA] = ColumnAVal;
    shRow[ColumnB] = ColumnBVal;
    shRow[ColumnC] = ColumnCVal;
    ResultsTable.Rows.Add(shRow);
    return ResultsTable; 
}

using(DataTable ResultsTable = CreateNewRow
                               (
                                  ds.Tables[0], 
                                  "a",
                                  "b",
                                  "c",
                                  "SubHead", 
                                  "Wheel Subs", 
                                  totalWheels
                               ))
{
      //Your logic
}