Создание дочерних узлов в 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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д