|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
Как-то прочитал в http://www.beluch.ru/progr/100comp/3_6_3.htm, что у Treeview есть методы Delete и Clear, которые очищают все дерево и выбраный узел от потомков. В своем Treeview , я не нашел такого метода, и вот хотелось бы как-то написать эту функцию удаление всех потомков выбранного узла в методе Collapse(expand наполняет ветку, Collapse очищает)... Т.е. понимаю, что надо узнать до какого уровня эта ветка заполнена, как-то передавать в эту функцию ключ узла, проверять есть ли у него заполнение и если есть то получается какая-то рекурсия... может, кто делал это чудо, чтоб посмотреть как оно выглядит... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2013, 11:30 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
q1w1e1Как-то прочитал в http://www.beluch.ru/progr/100comp/3_6_3.htm, что у Treeview есть методы Delete и Clear, которые очищают все дерево и выбраный узел от потомков. В своем Treeview , я не нашел такого метода, и вот хотелось бы как-то написать эту функцию удаление всех потомков выбранного узла в методе Collapse(expand наполняет ветку, Collapse очищает)... Т.е. понимаю, что надо узнать до какого уровня эта ветка заполнена, как-то передавать в эту функцию ключ узла, проверять есть ли у него заполнение и если есть то получается какая-то рекурсия... может, кто делал это чудо, чтоб посмотреть как оно выглядит... Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2013, 12:17 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2013, 12:18 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
Да с remove для двух уровней я построил DO WHILE NODE.children>0 lcchildkey=NODE.CHILD.KEY THIS.nodes.REMOVE(lcchildkey) ENDDO Мне надо для n уровней.... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2013, 12:28 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
q1w1e1Мне надо для n уровней Рекурсия + node.children, node.child, node.next Что там сложного-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2013, 13:44 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
При чем здесь рекурсия и уровни? Метод Remove удаляет как сам узел, так и вообще ВСЕ узлы всех уровней, подчиненные удаляемому. Или что надо сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2013, 14:07 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
ВладимирМ, у меня не возникало необходимости удалять узлы с подузлами, поэтому я полагал, что ТВ само рекурсивно не удаляет, раз уж ТС об этом спросил . ЗЫ. А может, ТСу для каждого удалённого узла надо какую-то обработку ещё проводить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2013, 05:07 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
ВладимирМПри чем здесь рекурсия и уровни? Метод Remove удаляет как сам узел, так и вообще ВСЕ узлы всех уровней, подчиненные удаляемому. Или что надо сделать?То есть .Remove неявно вызывает освобождение памяти от всех подчинённых нод? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2013, 05:28 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
Проверил.. в expand добавил messagebox(str(this.nodes.Count), и в Collapse, оказывается да.. при удалении узла, удаляются все его узлы.., но это не было явно написано и поэтому появились сомнения..:-) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2013, 10:47 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
но все равно интересно.. nodes.Count общее количество узлов дерева NODE.children кол-во подузлов(например второго уровня), может есть какая нибудь функция, которя показывает сколько всего подузлов (второго, третьего и т.д. уровня) конкретного узла..., а то опять буду "изобретать велосипед", который уже есть..:-) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2013, 11:00 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
q1w1e1но все равно интересно.. nodes.Count общее количество узлов дерева NODE.children кол-во подузлов(например второго уровня), может есть какая нибудь функция, которя показывает сколько всего подузлов (второго, третьего и т.д. уровня) конкретного узла..., а то опять буду "изобретать велосипед", который уже есть..:-) Тут хелп по русски ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2013, 11:28 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
q1w1e1может есть какая нибудь функциявстроенной - нет а зачем оно вам, если узел рекурсивно удаляется? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2013, 11:30 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
... например проверка подузлов отмечен узел или нет ...:-) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2013, 11:45 |
|
Удаление всех потомков в Treeview
|
|||
---|---|---|---|
#18+
q1w1e1, я так и думал. Тогда 14161718 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2013, 11:58 |
|
|
start [/forum/topic.php?desktop=1&fid=41&tid=1583082]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 160ms |
0 / 0 |