Форум: "Базы";
Поиск по всему сайту: 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.023 c
1-133             Vampire               2002-03-21 20:43  2002.04.01  
Поверх всех окон и не только


3-53              ddd                   2002-03-06 13:01  2002.04.01  
автоматизировать настройку Client Network Utility MS SQL7


1-153             Zool                  2002-03-21 20:51  2002.04.01  
DirectX


3-43              YVaschuk              2002-03-06 13:36  2002.04.01  
SQL Query в связанных таблицах


14-284            Vladimir Lubenchenko  2002-02-15 22:08  2002.04.01  
Where can I download Report Builder Enterprise 6.03 for Delphi 6