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

How can i populate a treeview by ID and parentID using OLEDB

我有一个大问题。我想用我得到的一些数据填充树视图。

有一个根节点。我想向这个根节点添加一些由我的数据定义的其他节点。数据包括姓名、ID 和 ParentID

数据存储在 OLEDB 中,但我也已经存储在我的程序中。

让我举个例子,因为我的英语不是最好的:

数据:

测试数据 1 0

测试数据1 2 0

测试数据3 3 1

测试数据4 4 2

测试数据5 5 3

测试数据6 6 4

测试数据7 7 4

所以我的树看起来应该类似于:

+根

++测试数据1

++++测试数据3

++++++测试数据5

++测试数据2

++++测试数据4

++++++测试数据6

++++++测试数据7

你知道我怎样才能做到这一点吗?

问候

施林格

您将需要一种递归方法来遍历树。

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