после небольшой настройки моего кода я получил небольшое доказательство концепции кода:
private void button1_Click(object sender, EventArgs e)
{
DepartmentRepository repo = new DepartmentRepository();
var entries = repo.FindAllDepartments(); //Returns IQueryable<Department>
treeView1.BeginUpdate();
var parentDepartments = entries.Where(d => d.IDParentDepartment == null).ToList();
foreach (var parent in parentDepartments)
{
TreeNode node = new TreeNode(parent.Name);
treeView1.Nodes.Add(node);
var children = entries.Where(x => x.IDParentDepartment == parent.ID).ToList();
foreach (var child in children)
{
node.Nodes.Add(child.Name);
}
}
treeView1.EndUpdate();
}
Он помещает каждый родительский отдел в элемент управления TreeView и затем правильно назначает его дочерних элементов для правильного родителя.
Моя проблема в том, как мне обращаться с детьми детей? Вложенные отделы.
Я не могу обернуться вокруг него.
Спасибо за любые советы.