Member 13250972 Ответов: 1

Node.parentnode.nodes.remove(node) - это удаление родительского узла при удалении верхнего дочернего узла.


Я пытаюсь удалить дочерний узел из родительского узла RadTreeView. Это работает нормально до тех пор, пока он не является верхним дочерним узлом под родительским.

Родитель

> child1

> child2

> child3

> child4

Если я удалю child2, 3 или 4; это сработает. Но если я удалю child1, родитель будет удален вместе с любыми оставшимися дочерними узлами.

Поведение, которое я ожидал, заключается в том, что я должен иметь возможность удалить любой из дочерних узлов в любом порядке, а родительский узел должен быть удален только тогда, когда будет удален последний оставшийся дочерний узел - но даже это спорно, так как что, если я захочу добавить больше дочерних узлов к родительскому узлу после удаления всего?


Спасибо за любую помощь.

Что я уже пробовал:

Dim remove_node As RadTreeNode = rtvClientSpecs.FindNode(Function(x) x.Value = e.CommandArgument.ToString())
remove_node.ParentNode.Nodes.Remove(remove_node)

1 Ответов

Рейтинг:
12

Member 13250972

Неважно, я все понял, спасибо.
Я не правильно агрегировал node.fullpath, когда создавал коллекцию классов для заполнения treeview.