C# TreeView如何以编程方式创建节点
我需要填充TreeView控件来显示数据库中的层次结构数据 层次结构顺序由数据库中名为“CategoryNodeString”和“CategoryNodeLevel”的列指定 /=根 例如:C# TreeView如何以编程方式创建节点,c#,asp.net,tree,C#,Asp.net,Tree,我需要填充TreeView控件来显示数据库中的层次结构数据 层次结构顺序由数据库中名为“CategoryNodeString”和“CategoryNodeLevel”的列指定 /=根 例如: CategoryId CategoryNodeString CategoryNodeLevel 1 / 0 2 /1/ 1 3 /2/
CategoryId CategoryNodeString CategoryNodeLevel
1 / 0
2 /1/ 1
3 /2/ 1
4 /1/1/ 2
5 /1/2/ 2
6 /1/1/1 3
你能给我一个开始的代码示例吗?谢谢大家 使用此数据源,构建树视图并不容易。由于节点之间不存在父子关系,因此复杂性降低。CategoryNodeString应读取父CategoryId的Id,如下所示:
CategoryId ParentCategoryId Node Display String
0 0 Parent
1 0 SubParent
2 0 SubParent
3 1 Child
4 2 Child
从这些数据可以得到以下结构:
0 (Parent)
+--1 (SubParent)
| +--3 (Child)
+--2 (SubParent)
| +--4 (Child)
等等。通过检查每个节点的parentCategoryId,可以使用Linq to对象递归地(半)构建此树。首先查找parentCategoryId的最低值。创建该节点(使用System.Web.UI.TreeNode对象)。然后将所有共享该parentCategoryId的孩子附加到它。然后对每个新添加的子项重复该过程(因此是递归)。为什么要发布两次相同的问题?嗨,这里我假设没有EF参与。这是一个类似的更简单的版本。你知道吗?谢谢你的留言谢谢,我真的很感谢你的评论,现在我用EF4找到了一个解决方案,我会尽快在这里发布解决方案,谢谢