使用list一次将整行添加到DataTable

时间:2012-07-04 12:02:07

标签: c# list datatable

我只想将List添加为DataTable整行。这是我试过的代码。

private static DataTable _table = new DataTable();

List<string> tempList = new List<string>();

// tempList = {"A1","A2","A3","A4","A5","A6"}

_table.Rows.Add(tempList);

预期产出:

      col1|col2 |col3 |col4  |col5| col6
      ----+-----+-----+------+----+--
row1   A1 |  A2 | A3  |  A4  | A5 |  A6

然而,这对我不起作用。它会将数据集合插入第一列。

实际输出:

      col1      |col2 |col3 |col4  |col5| col6
      ----------+-----+-----+------+----+--
row1   A1,A2,A3.|     |     |      |    |  

请帮我使用列表添加整行。谢谢

3 个答案:

答案 0 :(得分:6)

DataRowCollection.Add()方法需要Object[],所以您应该尝试:

_table.Rows.Add(tempList.ToArray());

答案 1 :(得分:3)

Rows.Add()接受parms [],您可以通过将list转换为数组来实现它。

_table.Rows.Add(tempList.ToArray());

答案 2 :(得分:1)

 DataTable dt = new DataTable();
        dt.Columns.Add();
        dt.Columns.Add();
        dt.Columns.Add();
        List<string> tempList = new List<string>() { "a", "b", "c" };
        dt.Rows.Add(tempList.ToArray<string>());