TreeView — узнать узел, который проэкспандился

Когда-то мучилась с выводом дерева. Мучения заключались в отсутствии понимания, обработку каких событий проводить.
Суть в том, что при загрузке формы отображаются все родительские узлы в свернутом виде, и к ним же уже подгружены все узлы-потомки. При раскрытии узла-родителя необходимо подгружать потомков потомков (т.е. «внуков» раскрываемого узла).

Делается это в обработчике события BeforeExpand (в принципе можно и в AfterExpand, но как-то логически неверно), а узел, который «проэкспандился» можно получить из параметров обработчика события e.Node.

private void treeBrowser_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {

            for (int i = 0; i < e.Node.Nodes.Count; i++)
            {
                List ChildrenIDList;
                int res_ch = DeviceTypeRelations.GetChildrenOfParent(e.Node.Nodes[i].Text, out ChildrenIDList);

                for (int j = 0; j < ChildrenIDList.Count; j++)
                {
                    e.Node.Nodes[i].Nodes.Add(ChildrenIDList[j]);
                }
            }
        }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *