我有一个像这样的列表
ID |名称|标题|经理ID
1 |彼得| CEO |空
此列表可以是无限的。这里的空值是因为它们没有Manager。 如何将其添加到树视图并正确获取所有父节点和子节点?
需要在循环中完成此操作,并且无法更改数据库的来源, 我想做点什么?
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);
}
}
答案 0 :(得分: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作为第一个参数并执行相同的操作。