用于向ASP.net DataTable添加行的最快编码方式

时间:2012-11-15 15:41:41

标签: c# asp.net datatable dataset

在向DataTable添加行的编码速度方面,最快的方法是什么?我不需要既不知道列的名称也不知道数据类型。是否可以在没有事先指定dataTable列的数量或名称的情况下添加行?

        DataTable t = new DataTable();
        t.Rows.Add(value1,
            value1,
            value2,
            value3,
            ...
            valueN
            );
        DataSet ds = new DataSet();
        ds.Tables.Add(t);

3 个答案:

答案 0 :(得分:1)

要回答您的第一个问题:不,您必须在表格中定义列。你不能只说,“嘿,为所有这些价值观做一个专栏。”然而,正如施梅尔特先生所说,没有什么可以阻止你动态创建列。

答案 1 :(得分:1)

如果输入来自集合,您可以循环它以创建具有正确类型的DataColumns

var data = new Object[] { "A", 1, 'B', 2.3 };
DataTable t = new DataTable();
// create all DataColumns
for (int i = 0; i < data.Length; i++)
{
    t.Columns.Add(new DataColumn("Column " + i, data[i].GetType()));
}
// add the row to the table
t.Rows.Add(data);

答案 2 :(得分:0)

不知道行或列(首先需要添加列,但不能这样做)

 for(int intCount = 0;intCount < dt.Rows.Count; intCount++)
 {
  for(int intSubCount = 0; intSubCount < dt.Columns.Count; intSubCount++)
   {
         dt.Rows[intCount][intSubCount] = yourValue; // or assign to something
   }
 }