DataTable添加列不添加行?

时间:2013-04-03 09:22:33

标签: c# datatable

我需要对这个DataTable概念有点引导。我正在将数据存储在DataTable中,我首先添加一个如下所示的列来初始化:

DataTable outputData = new DataTable();
outputData.Columns.Add("Reference/Group");

现在,如果我将其写入CSV文件(使用我自己的类),我会得到您所期望的,电子表格软件中的视图,如:

             A
 1    Reference/Group

然而,当我继续在我的脚本中假设第1行存在时(通过引用outputData.Rows[0]),我得到:

Exception: There is no row at position 0.

但是,如果我尝试添加含有上述内容的行,则会抱怨没有列。如果我指定列然后添加一行,我可以引用Rows[0]但到那时我有两行,如:

             A
 1    Reference/Group
 2    Some new row

这里的正确方法是什么,这种行为的原因是什么?

2 个答案:

答案 0 :(得分:5)

你应该使用

outputData.Columns[0].ColumnName

而不是

outputData.Rows[0]

因为outputData.Columns.Add("Reference/Group");不会为您生成新行。您正在使用A1单元格的列名,而不是行数据

答案 1 :(得分:1)

所有这些都表明您的自定义“导出”代码会在第一个CSV行中显示列名称。它与DataTable中的实际数据无关。 在插入任何一行之前,你的表中实际上有0行。