Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Вниз

Уважаемые Мастера, помогите с 


KMM   (2002-03-05 11:07) [0]

Может кто-нибудь имел дело с компонентом vgDBTreeView ?
Вопрос в следующем:
есть таблица ID - код (Integer)
Name - наименование
Parent - код родителя (Integer)

У vgDBTreeView ставлю свойства DataFieldId=ID
DataFieldParentId=Parent
DataFieldText=Name
Дерево отображается, все замечательно. Но как теперь встав курсором на соответствующий "лист" этого дерева получить значения ID и Parent? (Ну допустим вывести их в Edit"s)

К сожалению с "деревьями" дела не имел, если можно, то поподробнее. Если никто не работал с данным компонентом, то
наведите на путь истинный исходя из каких-то общих соображений.

Заранее благодарю.



Nest   (2002-03-05 12:25) [1]

Передо мной сичас встала проблема с организацией дерева.
Рассматриваю разные способы организации таблиц вообще и интерфейса.
Если не сложно, напиши что это за компонент, если можно - намыль.
Постараюсь разобраться.
Вообще если есть ищё какая инфа,наработки по деревьям - может поделишься?
Вобщем намыль компонент, попробую разобраться.



KMM   (2002-03-06 11:48) [2]

Неужели никто не знает?



Lusha   (2002-03-06 14:40) [3]

Ну, почему же никто...
Работал я с ним... Сейчас под рукой его vgDBTreeView нет... посмотрю дома исходники и завтра отвечу, ОК?



KMM   (2002-03-06 15:07) [4]

> Lusha Буду очень признателен.



Nest   (2002-03-06 15:40) [5]

2KMM
Получил, но несмог поковыряться.
Не устанавливается - под Д3 никак?
"File not found VG.INC"



vuk   (2002-03-06 15:59) [6]

Пара статей про организацию деревьев в БД.
http://sdm.viptop.ru/articles/sqltrees.html
http://rdbms.narod.ru/article/tree/index.html



Lusha   (2002-03-07 09:44) [7]

У меня это делается следующим образом. В обработчике OnGetImageIndex следующий код...

with TvgDBTreeView(Sender) do
begin
if not Assigned(Selected) then Exit;
if Node = Selected then
begin
if DataSource.DataSet.BookmarkValid(TvgDBTreeNode(Node).BookMark) then
DataSource.DataSet.GotoBookMark(TvgDBTreeNode(Node).BookMark);
end;
end;

Собственно идея TvgDBTreeView состоит в том, что в процессе формирования дерева в TvgDBTreeNode сохраняются закладки на записи БД по которым были сформированы ветви... идея хорошая, вот только реализовывать ее в качестве компонента, на мой взгляд, лишнее... Получается компонент привязанный к конкретной структуре БД, а проект завязывается на библиотеку и на ее автора (который в дальнейшем может отказаться от сопровождения библиотеки или попросить денежки)

Фактически, TTreeView с TTreeNode, содержащими закладки на записи БД в свойстве Data - это то необходимое и достаточное, для построения дерева по любой структуре БД. Именно на использование в своей работе TTreeView я и перешел...


P.S. Если возникнут вопросы, обращайтесь на мыло. Помогу (чем смогу) ;)

Удачи




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.021 c
14-305            Lord Vader            2002-02-20 04:59  2002.04.01  
RUNDLL32.EXE - Перезагрузить компьютер в режиме MS-DOS


7-335             Filat                 2001-12-19 15:45  2002.04.01  
Как переделать или втавить программу с ASM на Дельфи - цифровой вольтметр.


14-287            Sir Alex              2002-02-04 19:44  2002.04.01  
DMFC 1.1.003a ( вот что значит конкуренция!)


4-360             sdn                   2002-02-01 19:15  2002.04.01  
Как создать форму, похожую на ICQ


1-245             Flagman               2002-03-20 12:43  2002.04.01  
TBaseArray