| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > TreeView |
| Автор: Гость_ComR@De 26.4.2004, 14:13 |
| При добавлении дочернего узла путем поиска родительского узла (перебор всех значений дерева) возникает проблема. Если родительских узлов с одинаковым содержимым больше одного, то дочерний узел будет повторно внесен в первый найденный родительский узел. Как этого избежать? |
| Автор: Guest 26.4.2004, 15:03 |
| Код покажи |
| Автор: x77 26.4.2004, 17:25 |
| надо однозначно идентифицировать каждый узел. например, при построении указывать для каждого нода уникальный StateIndex (если StateImages не используется, конечно). если "свободных" свойств нет, остаётся кидать в Data некий пойнтер. собственно, если дата не используется - можно просто присваивать в само свойство любое значение типа Cardinal, а если дата используется, то внести в неё поле с уникальным идентификатором и заполнять его при вставке. |
| Автор: ComR@De 27.4.2004, 15:38 |
| Спасибо за совет. Я указанные индексы не создавал, а стал проверять не свойство Text, а свoйства Level и Index. Все заработало. |
| Автор: NiJazz 27.4.2004, 15:46 |
| А можно в этом случае использовать свойство Tag? |
| Автор: p0s0l 27.4.2004, 15:48 |
| По-моему, ComR@De, ты что-то перенавымудривал. Расскажи поподробнее твою задачку, может тут всё просто ??? |
| Автор: x77 27.4.2004, 15:56 |
| NiJazz, было бы можно, оно, собственно, для того и предназначено, если бы оно у TTreeNode было. почему его нет - я до сих пор понять не могу. |