Здравствуйте. Передо мной стоит задача добавления дочерних элементов выбранного при клике узла в дерево.
Вызов обработчика происходит до загрузки формы.
На форуме имеется аналогичная тема, не имеющая решения, к сожалению. Прошу помощи в этом вопросе.
Попытка вида, привела к ошибке:
private void CreateControls()
{
TreeView = new TreeView();
foreach (TreeNode trn in TreeView.Nodes)
{
trn.SelectAction = TreeNodeSelectAction.Expand; //задаем свойства
}
TreeView.TreeNodeExpanded += OnTreeNodeExtended; //для выбранных элементов назначаем обработчик
}
private void OnTreeNodeExtended(object sender, TreeNodeEventArgs e)
{
string organizationName = (string)e.Node.DataItem; //в последующем коде возникнет ошибка по причине отсутствия выбранного элемента
organizationName = (organizationName != null)? organizationName: "";
var q = new Query<USER_CL_Entity>(LoadMode.Table);
q.SA.Criteria["NOTE"] = organizationName;
IEnumerable<USER_CL_Entity> users = q.Search();
foreach (USER_CL_Entity user in users)
{
e.Node.ChildNodes.Add(new TreeNode(user.SURNAME_PATRON));
}
}