Создание дочерних узлов в treeList из Dictionary - C#
Формулировка задачи:
Здравствуйте. Есть словарь подразделений
, где
Таким образом, у Dictionary есть Key, Value.name и Value.parent. Если не использовать параметр Value.parent, я строю список подразделений в treeList так на одном уровне:
А как можно сделать, используя parent, чтобы было примерно так
Dictionary<string, RootObject1> array1 = new Dictionary<string, RootObject1>();
public class RootObject1 { public int parent { get; set; } public string name { get; set; } }
treeList1.BeginUnboundLoad(); // начать создание узлов в режиме UnboundLoad TreeListNode teamNode; // узел номера подразделения foreach (KeyValuePair<string, RootObject1> kvp in array1) { string teamName = Convert.ToString(kvp.Value.name); // название подразделения string teamKey = Convert.ToString(kvp.Key); // ключ подразделения teamNode = treeList1.AppendNode(new object[] { teamName }, null, null); // добавить узел подразделения teamNode.ImageIndex = 2; // картинка узла teamNode.SelectImageIndex = 2; // картинка выбранного узла } treeList1.EndUnboundLoad(); // закончить создание узлов в режиме UnboundLoad
Решение задачи: «Создание дочерних узлов в treeList из Dictionary»
textual
Листинг программы
foreach (KeyValuePair<string, RootObject1> kvp in array1) { string teamKey = Convert.ToString(kvp.Key); // ключ подразделения TreeNode itemNode = null; foreach (TreeNode node in treeView1.Nodes) { itemNode = FromID(teamKey, node); if (itemNode != null) break; } if (itemNode == null) // если не нашли ноды с таким тегом добавим на 1 уровень { treeView1.Nodes.Add(kvp.Value.name); } else // иначе добавим в дочерние к той ноде { itemNode.Nodes.Add(kvp.Value.name); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д