【发布时间】:2011-03-05 10:26:00
【问题描述】:
我有一个表,它具有通常的 ParentID、ChildID,因为它是自引用树数据结构中的前两列。
我的问题是,当我把它拿出来并使用以下代码时:
DataSet set = DA.GetNewCategories();
set.Relations.Add(
new DataRelation("parentChildCategories", set.Tables[0].Columns["CategoryParentID"], set.Tables[0].Columns["CategoryID"])
);
StringBuilder buildXml = new StringBuilder();
StringWriter writer = new StringWriter(buildXml);
set.WriteXml(writer);
TreeView2.DataSource = new HierarchicalDataSet(set, "CategoryID", "CategoryParentID");
TreeView2.DataBind();
我得到错误:
These columns don't currently have unique values
我相信这是因为我的数据有多个父节点的子节点。这对我的应用程序来说很好 - 我不介意在 TreeView 的多个节点中呈现一行数据。
有人可以解释一下吗?让一个节点出现在多个地方的 DataSet 呈现 XML 似乎不是不合理的,但我不知道该怎么做。
谢谢,
马特。
【问题讨论】:
-
您能否更好地了解您的数据模型是什么样的? CategoryID 不是这个表的主键吗?
-
CategoryID 是主键,但表存在问题。我想知道是否应该删除整个问题,因为我认为它不能提供实用的答案。
标签: c# asp.net xml treeview dataset