1

我有一个这样的清单

  • 身份证 | 姓名 | 标题 | 经理ID

  • 1 | 彼得 | 首席执行官 | 空值

  • 2 | 埃里克 | 经理 | 1
  • 3 | 布拉德 | 经济 | 1
  • 4 | 坑 | 销售 | 2
  • 5 | 迈克 | 秘书| 4
  • 6 | 麦克 | 复印机 | 5
  • 7 | 本 | 董事会 | 空值

这个列表可以是无限的。这里的空值是因为它们没有管理器。如何将其添加到树视图并正确获取所有父节点和子节点?

需要在循环中完成此操作,并且无法更改它来自的数据库,我想做类似的事情吗?

private void treew(TreeNode treeNode, List<Employees> employ)
    {
        foreach (Employees option in employ)
        {
            TreeNode nodeOutput;
    //Add parent node
            foreach (Employees optionItems in employ)
            {
                if (option.ID == optionItems.ManagerID)
                {
        //Add childnode
                    TreeNode nodeOption;
                    nodeOutput.Nodes.Add(nodeOption);
                }
            }
            treeNode.Nodes.Add(nodeOutput);
        }
    }
4

1 回答 1

0
private List<Employees> employees;
private void treew(TreeNode root, int? managerID)
{
    foreach (Employees option in employ.Where(x => x.MangerID == managerID))
    {
        TreeNode nodeOutput;
        treew(nodeOutput, option.ID);
        root.Nodes.Add(nodeOutput);
    }
}

要么将 TreeView 的根节点传递给第一次调用,要么创建另一个版本,将 TreeView 作为第一个参数并执行几乎相同的操作。

于 2012-12-07T18:27:41.447 回答