2015-08-20 1 views
0

В мероприятии afterSelect Я хочу развернуть treeNode, чтобы получить детей. Я пробовал функции expand() и expandAll(), но ничего не происходит. Я использую C# с синхронизацией.Как развернуть TreeNode в afterSelect event в C#

Событие:

void tvNavigation_AfterSelect(object sender, EventArgs e) 
{ 
    var selNode = mFP.TreeViewPresenter.SelectedNode.Text; 
    if (treeViewElements.Count > 0) 
    { 
     foreach (TreeNodeAdv tna in treeViewElements) 
     { 
      if (selNode == tna.Text) 
      { 
       tna.ExpandAll(); //does not expand 
       var expNodes = (ArrayList)tna.Nodes.Clone(); 
       subTreeViewElements = expNodes.Cast<TreeNodeAdv>().ToList(); 
       break; 
      } 
     } 
    } 
} 

Является ли это ошибка в Syncfusion?

ответ

0

Функция Expand() и ExpandAll() работает нормально. Проверьте, что ваша коллекция узлов содержит текст TreeNodeAdv во время итерации. Я подготовил образец для вашей справки и его можно скачать из нижерасположенного места.

Вы можете перебирать все узлы в TreeViewAdv, используя приведенный ниже фрагмент кода.

IEnumerable Сбор (TreeNodeAdvCollection узлы) { Foreach (TreeNodeAdv узел в узлах) { выход обратного узла;

  foreach (var child in Collect(node.Nodes)) 
       yield return child; 
     } 
    } 

Sample Расположение: https://onedrive.live.com/redir?resid=7FCA130657D0D73E!135&authkey=!AH4aFdd3ZTd6T4c&ithint=file%2czip