C# TreeView如何以编程方式创建节点

C# TreeView如何以编程方式创建节点,c#,asp.net,tree,C#,Asp.net,Tree,我需要填充TreeView控件来显示数据库中的层次结构数据 层次结构顺序由数据库中名为“CategoryNodeString”和“CategoryNodeLevel”的列指定 /=根 例如: CategoryId CategoryNodeString CategoryNodeLevel 1 / 0 2 /1/ 1 3 /2/

我需要填充TreeView控件来显示数据库中的层次结构数据

层次结构顺序由数据库中名为“CategoryNodeString”和“CategoryNodeLevel”的列指定

/=根

例如:

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找到了一个解决方案,我会尽快在这里发布解决方案,谢谢