如何使用OLEDB通过ID和parentID填充树视图

时间:2015-12-10 15:39:38

标签: c# .net visual-studio treeview oledb

我有一个大问题。我希望通过一些数据来填充树视图。

有一个根节点。对于这个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

1 个答案:

答案 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);
}