【问题标题】:DataTable adding column doesn't add row?DataTable添加列不添加行?
【发布时间】:2013-04-03 09:22:32
【问题描述】:

我需要了解一下这个 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

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

【问题讨论】:

    标签: c# datatable


    【解决方案1】:

    你应该使用

    outputData.Columns[0].ColumnName
    

    而不是

    outputData.Rows[0]
    

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-09-11
        • 1970-01-01
        • 2019-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-19
        • 2012-10-03
        • 2014-05-20
        相关资源
        最近更新 更多