Вниз
Скачать: CL | DM;

БД + дерево   Найти похожие ветки 

← →
db_noob   (2006-07-19 21:16) [0]

Есть некое дерево (уровней порядка 3-4, но это не особо важно), которое желательно хранить в БД и при загрузке ПО подгружать в TreeView-компонент.

Прошу совета: Как лучше хранить дерево? Как лучше его грузить? Какой TreeView лучше при этом использовать?

Гланый критерий оценки: скорость работы сей конструкции.

з.ы. на данный момент решил хранить в след. виде (таблица)
| Имя ветки | ID | ParentID |

Самый простой вариант )


← →
palva ©   (2006-07-19 21:47) [1]

Еще надо поле индекса добавить, чтобы сохранить порядок узлов. Конечно, это будет не тот индекс, который в TreeView, а тот по которому ORDER BY


← →
PSPF2003 ©   (2006-07-20 07:59) [2]

Есть на Delphi World примерчик.
В книге Фленова D2005.

Ищи в поискавиках "Древовидные структуры в базах данных "


← →
PSPF2003 ©   (2006-07-20 08:01) [3]

Есть на Delphi World примерчик.
В книге Фленова D2005.

Ищи в поискавиках "Древовидные структуры в базах данных "


← →
Ega23 ©   (2006-07-20 10:05) [4]

ID, int, primary key
ParID, int, null,  foreign key on (ID)
aName varchar(сколько_надо)
........

Компонент... Я свой писал. TDBTreeView.


← →
Desdechado ©   (2006-07-20 11:38) [5]

Замыкание дерева на одну таблицу - самый популярный путь. Но есть и другие пути. Встречал статьи по этому поводу. Думаю, стоит поискать в инете по словам.
Способ лучше выбирать, исходя из задач, а не из "что знаю" или "что чаще используют другие".


← →
SergP.   (2006-07-20 11:48) [6]

> Какой TreeView лучше при этом использовать?


Можно обычный использовать.
Только не создавать там сразу все дерево, а досоздавать узлы по мере необходимости...

Т.е. создаешь узлы верхнего уровня, и у каждого такого узла создаешь по одному "левому" дочернему узлу, а в OnExpanding проверяешь наличие этих "левых" узлов. Удаляешь их и создаешь нужные узлы.


← →
Reindeer Moss Eater ©   (2006-07-20 12:02) [7]

"Все уже украдено до нас"

TVirtualDBTree


← →
ORMADA ©   (2006-07-20 12:05) [8]

а мне DbTreeFilter http://www.miross.ru/dbt/ нравиться
нормальная быстрая им простая вещь.. думаю аналогичная той что Ega23 написал или TVirtualDBTree



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
2-1153455791
PSPF2003
2006-07-21 08:23
2006.08.06
TSearchRec в Инете


2-1152523701
filh
2006-07-10 13:28
2006.08.06
Подмена инфы о системе


4-1145215733
cerber
2006-04-16 23:28
2006.08.06
Открыть порт "DOT4_001"


15-1152097725
pavel_guzhanov
2006-07-05 15:08
2006.08.06
Умер Андрей Краско :((


1-1150972456
Старик
2006-06-22 14:34
2006.08.06
Различные варианты выгрузки приложения из памяти




   Наверх