Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Визуализация Иерархической структуры [IB6.x]


Страницы:   1 2

Дима ©   (2008-04-29 14:14:00) 

Подскажите пожалуйста, как реализовать следующее:
    есть таблица в БД (IB6.x), в ней такие поля
- id - идентификатор уникальный
- name - название подразделения
- link_to - идентификатор родителя
 Т.е. простая иерархическая структура Подразделений.
Необходимо на Дельфи визуализировать в виде дерева, при чём полностью раскрытого, т.е. показать все листья дерева, при этом не использую рекурсии.
Как это сделать не меняя структуры таблицы?


Дима   (2008-04-29 21:57:00) [21]

запрос канает, но пользоваться рекурсией запрещено


Loginov Dmitry   (2008-04-29 19:45:00) [22]

> при этом не использую рекурсии.


рекурсия = рекурсивный SELECT - запрос? Какая же там вложенность, если даже такой запрос не канает?


Reindeer Moss Eater   (2008-04-29 15:15:00) [23]

А в прочем по барабану.
TVirtualDBTree и все.


Reindeer Moss Eater   (2008-04-29 15:14:00) [24]

Полностью открытое? Да неужели?

А затем уже по нажатии на определённый элемент - сканировать только данное поддерево.


Дима   (2008-04-29 15:08:00) [25]

Почему меняю?
Я просто пояснил, что надо показать полностью открытое дерево!


Reindeer Moss Eater   (2008-04-29 15:05:00) [26]

Чот ты по ходу темы меняешь исходные данные вопроса.


Дима   (2008-04-29 14:56:00) [27]

При запуске программы должно отобразиться полностью открытое дерево с показом всех листьев. Как просканировать всю базу и подобавлять в Дерево не использую рекурсии (т.к. элементов много и вложенность большая).
 А затем уже по нажатии на определённый элемент - сканировать только данное поддерево.


Reindeer Moss Eater   (2008-04-29 14:52:00) [28]

Ну тады VirtualControls.
Все что ему надо - два ключа в датасете.


Ega23   (2008-04-29 14:48:00) [29]


> Наверное потому, что элементов дерева может быть слишком
> много и грузить его сразу целиком нет смысла.


Он же разом всё дерево раскрыть хочет?


Reindeer Moss Eater   (2008-04-29 14:37:00) [30]

Есть готовая библиотека VirtualControls. В том числе для DB.


Reindeer Moss Eater   (2008-04-29 14:34:00) [31]

Наверное потому, что элементов дерева может быть слишком много и грузить его сразу целиком нет смысла.


Ega23   (2008-04-29 14:34:00) [32]


> Почему такое ограничение?


Рекурсия в DataSet - бессмысленная штука.
А вот пройти один раз, построить список и вычислить корневые элементы, а дальше с этим списком рекурсивно работать - вот это уже другое дело.


Sergey13   (2008-04-29 14:32:00) [33]

> [0] Дима   (29.04.08 14:14)
> при этом не использую рекурсии.

Почему такое ограничение?


Ega23   (2008-04-29 14:25:00) [34]

1. Взять TTreeView, проанализировать набор данных, добавить в дерево нужные узлы.
2. Написать (скачать из сети) какой-нибудь TDBTreeView. (Могу поделиться своим, но он у меня на специальные задачи заточен; комментариев и пояснений давать не буду, только голый исходник).


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо