我有一个包含列名 I0、I1、I2 等的数据表。但是这些不是实际的列名。我将列名存储在另一个表中。
然后我有一个循环来映射实际的列名称,如下所示:
for (int i = 0; i < dt_key.Rows.Count; i++)
{
dt_data.Columns[i].ColumnName = dt_key.Rows[i][0].ToString();
}
我收到以下错误:
A column named 'Pressure' already belongs to this DataTable.
和
A column named 'Size' already belongs to this DataTable.
最终我试图将其写入 xml 文件:
dt_data.WriteXml(filename);
这行得通,但我最终得到了列名 I0..I22
有类似的问题,但他们试图制作具有重复列名的数据表。我只是想打印出一个包含重复列名的表。执行此操作的好方法是什么?
编辑:
我可以做以下事情:
for (int i = 0; i < dt_key.Rows.Count; i++)
{
dt_data.Columns[i].ColumnName = dt_key.Rows[i][0].ToString() + " " + dt_data.Columns[i].ColumnName;
}
最佳答案
我认为对您的问题的简短回答是,使用 DataTable
无法获得重复的列名。您究竟将此 XML 用于什么目的?有许多替代方法可以生成 XML,为您提供更细粒度的控制。
您可以使用 XmlWriter
对象手动创建文件。 This method创建一个写入文件的 XmlWriter
。
关于c# - 重复的数据表列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8994185/