我有一个大问题。我希望通过一些数据来填充树视图。
有一个根节点。对于这个rootnode,我想添加一些由我的数据定义的其他节点。数据包括名称,ID和ParentID
数据存储在OLEDB中,但我已经存储在我的程序中。
让我举个例子,因为我的英语不是最好的:
数据:
Testdata 1 0
Testdata1 2 0
Testdata3 3 1
Testdata4 4 2
Testdata5 5 3
Testdata6 6 4
Testdata7 7 4
所以我的树看起来应该类似于:
+根
++ Testdata1
++++ Testdata3
++++++ Testdata5
++ Testdata2
++++ Testdata4
++++++ Testdata6
++++++ Testdata7
你知道我怎么能做到这一点吗?
问候
Schlinger
答案 0 :(得分:0)
您需要一个递归方法来遍历树。
private void AddNode(List<Data> data, int parent)
{
var parent = data.FirstOrDefault(x => x.ID == parent);
var dataItems = data.Where(x => x.Parent == parent);
foreach(var dataItem in dataItems)
{
AddNode(data, dataItem.ID);
}
Tree.Nodes.Add(parent.Name);
}