2014-02-14 7 views
1

Я просто закодирован, как показано ниже, чтобы развернуть выбранный узел после обратной передачи. Но это не работает. Что мне не хватает?Как развернуть выбранный узел treeview

trvMenu.CollapseAll(); 
//TreeNode searchNode = trvMenu.FindNode(selectedNode.Text); // Updated 
//TreeNode searchNode = trvMenu.FindNode(selectedNode.Value); 
TreeNode searchNode = trvMenu.FindNode(selectedNode.ValuePath); 
if (searchNode != null) 
    searchNode.ExpandAll(); 

selectedNode.Selected = true; 

//selectedNode.Selected = true; 
//selectedNode.ExpandAll(); 

Изображение: (Обновлено)

+0

Фактически он не находит узел @ .FindNode (selectedNode.Text), однако узел с текстом присутствует на 2-м уровне – KAL

ответ

1

Если я правильно определение метода FindNode является:

public TreeNode FindNode(
string valuePath) 

, но в вашем примере trvMenu.FindNode (selectedNode.Text); Просто попробуйте поместить trvMenu.FindNode (selectedNode.ValuePath);

+0

Я вижу. но все тот же. .FindNode также не находит значение узла. Пожалуйста, просмотрите обведенное изображение в моем сообщении выше. Спасибо. – KAL

+1

Вы пробовали свойство ValuePath или Value? Использовать ** ValuePath ** –

+0

Извините, я ошибся. Я снова обновил пример кода и изображение, и он показал, что ** ValuePath был изменен ** после обратной передачи (я нахожусь по этой причине) – KAL

Смежные вопросы