【发布时间】:2013-10-10 02:09:43
【问题描述】:
我应该在 aspx 中使用什么来在 gridview 中显示 xml 字符串?
Data 是 xml 字符串:
<Study>
<DocTypes>
<DocType>
<Name>doctype1</Name>
<Evaluate>false</Evaluate>
</DocType>
<DocType>
<Name>doctype2</Name>
<Evaluate>true</Evaluate>
</DocType>
</DocTypes>
<DocumentView>true</DocumentView>
<ColumnarView>true</ColumnarView>
</Study>
在 display.aspx.cs 后面的代码中,我使用 XmlTextReader,然后将 GridView 与 DataSet 绑定:
StringReader sr = new StringReader(Data);
XmlTextReader xtr = new XmlTextReader(sr);
DataSet ds = new DataSet();
ds.ReadXml(xtr);
GridView1.DataSource = ds;
GridView1.DataBind();
我应该在 display.aspx 中写什么?
<asp:GridView ID="GridView1" runat="server">
<Column> ???? </Column>
EDIT 我发现使用 dataset.Tables[number] 可以显示内容,但我也得到了一些带有 _ID 的奇怪列。如何删除 _ID 列?
EDIT 现在我看不到 DataSet 中的 DocTypes。我也应该用什么来显示它们?
编辑如果我更改 dataset.Tables[number] 的数量,我会得到 Doctypes 和 DocTypePermissions 但如何合并表格???
【问题讨论】:
-
您希望在 GridView 中显示哪些所有数据,使用当前 XML 字符串示例,您无法在 GridView 中加载整个 XML
-
我想加载所有内容。 DataSet 是错误的方法吗?
-
@Georg - 带有 _Id 的列用于关系。在数据集中,您将拥有 Doctypes 表的父级到 Doctype 表。如果删除关系并保存 xml,Doctype 节点将被附加到 Study 而不是 Doctypes 节点。
标签: c# asp.net gridview dataset