|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.05.2011, 06:53 | #1 |
Форумчанин
Регистрация: 01.09.2009
Сообщений: 151
|
Как отследить удаление узла в TreeView
Здравствуйте.
Подскажите пожалуйста, как можно отследить удаление узла в TreeView. Дело в том, что к узлам у меня привязаны элементы из внешнего списка, и когда удаляется родительский узел, то надо, что бы удалялись все связанные с ним и его потомками элементы во внешнем списке. |
23.05.2011, 10:41 | #2 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
Если у тебя есть привязка узел-элемент списка, то надо писать процедуру прохода по списку в глубь. Допустим ты нашел узел node,который надо удалить, тогда проходи по всем всем узлам node.Nodes[i], находи соответствующие им элементы и т.д. В общем рекурсия.
Дальше все зависит конкретно от твоей привязки. Обычно используют treeView.Nodes[i].Tag для хранения объекта.. Тогда этот объект должен содержать метод Delete,с которого и начинается рекурсия..
Не давай организму поблажки, каждый день тренируй его в шашки..
|
23.05.2011, 14:31 | #3 | |
Форумчанин
Регистрация: 01.09.2009
Сообщений: 151
|
Цитата:
Тут необходимо событие, которое возникает при удалении узла, а в TreeView я это событие найти не могу. Оно там вообще есть, или надо перекрывать Node.Remove()? |
|
23.05.2011, 16:13 | #4 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
ммм... каким образом удаляется узел?.. методом класса?,тогда следи за этим методом удаления узла. Просто само по себе ничего не удаляется и не создается.
Не давай организму поблажки, каждый день тренируй его в шашки..
|
23.05.2011, 21:13 | #5 |
Форумчанин
Регистрация: 06.05.2011
Сообщений: 287
|
Без плясок с бубном тут не обойтись. Вот пример с переопределением самого TreeView. Так сказать расширенная версия оного.
Код:
|
24.05.2011, 06:23 | #6 |
Форумчанин
Регистрация: 01.09.2009
Сообщений: 151
|
Спасибо.
Только я не понял, каким образом будет вызываться "public event EventHandler NodeDeleted;" |
24.05.2011, 07:58 | #7 |
Форумчанин
Регистрация: 06.05.2011
Сообщений: 287
|
А, самое главное и не сделал
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаление узла из красно-черного дерева | CodeNOT | Общие вопросы C/C++ | 0 | 18.05.2011 07:15 |
Выборка в DBGrid по выбору узла в TreeView | WhiteDemon | БД в Delphi | 13 | 17.02.2011 19:29 |
Ссылка на объект у узла TreeView | Sanprof | Общие вопросы C/C++ | 0 | 25.11.2010 13:42 |
TreeView - картинка только у определенного узла | Sanprof | Общие вопросы Delphi | 1 | 16.08.2010 14:09 |