![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Нужно организовать промежуточную ступень между accses и деревом,чтобы там хранить структуру бд. Как лучше это сделать??? Может как-то можно записывать структуру в reccord а потом по ней строить дерево????
|
|
#2
|
||||
|
||||
|
Цитата:
И ещё можешь посмотреть уже готовые реализации DBTreeView здесь. |
|
#3
|
|||
|
|||
|
Я знаю Как сделать дерево по бд .Нужно сделать чтобы структура была отдельно от дерева и хранилась где-то,заполняясь из бд при запуске проги,а потом по ней строилось дерево .
|
|
#4
|
||||
|
||||
|
Цитата:
Код:
type
PMyNode = ^TMyNode;
TMyNode = record
Parent: PMyNode;
PrevSibling: PMyNode;
NextSibling: PMyNode;
FirstChild: PMyNode;
LastChild: PMyNode;
Data: ...
end;Или же сделай с помощью классов - обычно с ними удобнее работать чем с record'ами. |
|
#5
|
|||
|
|||
|
А примерчика у тебя нет никакого??????
|
|
#6
|
|||
|
|||
|
Хотя бы поподробнее как с record ом работать.Вот допустим я в него записал всё что нужно,как потом к этим записям обратиться?????
|
|
#7
|
||||
|
||||
|
Цитата:
если речь о бд то я такие структуры строю так таблица с деревом где есть ID,ParentID,NodeID где NodeID это ID из другой таблицы со всеми необходимыми данными узла, тогда с помощью простого запроса типа select Tree.*, Nodes.* from Tree Left Join Nodes on Nodes.ID=Tree.NodeID получаю все необходимые данные отображение идёт через Query-->TDataSetDriverEh(EhLib)-->TMemTableEh(EhLib)-->TDataSource-->TDBGridEh(EhLib) Эта связка дерево строит автоматом |