![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите пожалуйста разобраться с TreeView [D7, Paradox]
VflowerW © (2004-08-27 23:29:00)Здравствуйте,
В целом нужно показать содержимое базы данных в TreeView в виде иерархии. Это несложно. Но вот самое страшное: нужно во время работы автоматически с заполнением базы паралельно заполнять TreeView. Информации очень много поэтому после каждой записи очень плохо перегружать TreeView.
Проблема:как сделать активным нужный node по определенному признаку.Например по названию верхушек веток.
Допустим эсть список:
Фирмы
Самсунг
ЛГ
Менеджеры
Владимир
Юлия
Как добавить Иру к менеджерам?
Спасибо.
Vemer (2004-08-29 17:57:00) [1]А если так:
Выбрать нужный узел.
Добавить Иру в таблицу.
Считать значения из таблицы (по Max(ID) насколько я понимаю в парадуксе).
Вставить данные в TreeView.
афвуд (2004-08-28 13:13:00) [2]Думаю здесь другая проблема. Просто проблема быстрого поиска записи.
Что мешает держать какую-нибудь индексную структуру? Вот если б ты на С++Builder программил я б тебе сразу посоветовал STL -> map . Сильно помогает в таких случаях. Т.е. поиск ты бы делал по признаку какому-нибудь и сразу бы получал указатель на нужный нод.
А в Дельфи... не знаю Наверняка что-нибудь хотя бы похожее есть. Я краем глаза в иерархии VCL видел класс THashedStringList. Он в хелпе не описан но он есть :)). Я думаю отличается от обычного стринглиста быстротой поиска.
jack128 (2004-08-28 01:27:00) [3]э-э-э а что мешает пробежаться по дереву, найти узел в названием "Meнеджеры" и добавить узел "Ира" ? Ну или в свойстве TTreeNode.Data хранить какой нить признак, что менеждеров присоединять сюда.Или если категория Менеджеры присутствует всегда, то при создании узла Менеджеры запомнить его в отдельную переменную?