【发布时间】:2014-03-28 17:25:17
【问题描述】:
第 1 步:
DataSet dsMain = new DataSet();
dsMain.ReadXml(my xml path);
结果我在 dsMain dstaset 中得到了 36 个数据表。
第 2 步:
动态创建 36 个DataGridView 显示所有数据表。
它导致一些DataGridView 有表但没有数据。并且缺少一些列。
这些列是自动生成的映射列的原因。和它的列名,如 TabelName_Id。
第 3 步:
for (int index = 0; index < ds1.Tables.Count; index++)
{
DataTable dtnew = ds1.Tables[index].Copy();
for (int ColCount = 0; ColCount < dtnew.Columns.Count; ColCount++)
{
if (dtnew.Columns[0].ColumnMapping == MappingType.Hidden)
{
dtnew.Columns[0].ColumnMapping = MappingType.Element;
}
}
}
现在该列可见。但我的问题是我无法获得父自动生成的列。
例子:
表 1:Parent-> Columns(Parent_Id,Col1,Col2,Col3)
表 2:子级 -> 列(Child_Id,Col1,Col2,Col3,Parent_Id)
在执行第 3 步之后,我可以在 Child 表中看到 Child_Id,但在 Child 表中看不到 Parent_Id。
请帮我摆脱困境。
我的示例 xml
<Parent value="25">
<Child>
<Inner></Inner>
</Child>
</Parent>
【问题讨论】:
标签: c# datagridview datatable