我有一个表,它有通常的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并且节点出现在多个地方似乎并不合理,但我无法弄清楚如何去做。
谢谢,
太
答案 0 :(得分:0)
您的表中可能有第三列,其中包含(parentID +“_”+ categoryId),而不是在HierarchicalDataSet中使用该列。这在您的树中是独一无二的
对于父ID,您也需要相同,以便它们匹配类别ID