有很多方法可以将数据表转换为treeview(treenode),如this。但是有什么办法可以创建一个可数据维护的层次结构。例如。如果TreeNode
就像动态地将TreeNode转换为DataTable
A-A1
-A2-A21
-A22
B-B1
-B2-B21
-B3-B31
-B32-B321
-B322
-B33
-B4
应该看起来像在数据表中。然后,我可以将其保存在数据库中,或者以datagrid
的形式显示给用户。
所有列可以有取string
值。
有没有什么办法,我可以通过treenode
函数&它会动态地创建这样的数据。 treenode
结构每次都会改变,这就是为什么我不能对它进行硬编码。假设我有这样的递归函数。
public void CreateData(TreeNode trn)
{
foreach(TreeNode t in trn.Nodes)
{
CreateData(t);
}
}
我很难理解递归函数的代码流。 任何建议表示赞赏。
谢谢。
你的意思是保存到数据表或数据库?无论如何,这个数据表有什么结构。根据你的例子,这个数据表有一列(类型字符串),或者这个表有多个(动态创建)列(类型字符串)。请添加更多信息! –
阅读此:http://stackoverflow.com/questions/192220/what-is-the-most-efficient-elegant-way-to-parse-a-flat-table-into-a-tree/192462#192462 –
Hippo通常在这些情况下,您有一个可以说ID,标题和ParentID的表,每个非根节点都有parentID指向表中的父节点记录。我认为你应该这样做,而不是像你在问题中定义的表格那样。当你将它们绑定到像我提到的那样的表结构时,也可以认为有树形控件能够以这种方式完全填充。 –