このようなリストがあります
ID | 名前 | タイトル | マネージャーID
1 | ピーター | ピーター | 代表取締役社長 | ヌル
- 2 | エリック | マネージャー | 1
- 3 | ブラッド | 経済 | 1
- 4 | ピット | ピット 販売 | 2
- 5 | マイク | マイク | 秘書| 4
- 6 | マック | コピー機 | 5
- 7 | ベン | ベン | ボード | ボード ヌル
このリストは無限になる可能性があります。これの null 値は、マネージャーがないためです。これをツリービューに追加して、すべての親ノードとサブノードを正しく取得するにはどうすればよいですか?
ループでこれを達成する必要があり、元のデータベースを変更することはできません。次のようなことをしたいですか?
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);
}
}