Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.22;
Скачать: CL | DM;

Вниз

DBTreeView   Найти похожие ветки 

 
3asys   (2002-04-02 12:35) [0]

Добрый день, подскажите, где реально можно взять компонент а la DBTreeView (можно несколько -) )

С Уважением, Александр


 
Aleksandr ©   (2002-04-02 12:46) [1]

Смотря какой тебе нужен. Если тот, который связывает мастер-детайл, то таких на torry.net целые пачки... Если тот, который одну таблицу выстраивает по Id-OwnerID, то таких нет. Мне в свое время пришлось самому такую компоненту рисовать. Если надо, могу покопать исходники, кину тебе код - посмотришь, как я делал, свое нарисуешь.


 
3asys   (2002-04-02 12:55) [2]

> Aleksandr
Мне нужен компонент, который был бы способен загрузить дерево из таблицы, позволить его отредактировать и сохранить в таблицу. Я писал подобную штуку (в разных вариациях) на основе TTreeView, но при редактировании загруженного дерева трудно добиться корректного изменения данных в таблице, если перезаписывать таблицу нельзя. Например, каждый узел имеет строго определенный ID, который не должен меняться с момента создания узла и до его уничтожения. Этого трудно добиться, если например производится перенос ветки или редактирование названия узла. Поэтому хотел посмотреть, может у кого-то это решается. Буду благодарен за исходники.
С Уважением, Александр


 
Lusha ©   (2002-04-02 13:04) [3]

А что Вы использовали для синхронизации TTreeView.Items и набора данных. Уж не свойство TTreeNode.AbsoluteIndex часом? Всего, что Вы перечислили ЛЕГКО добиться если в свойстве TreeNode.Data хранить закладку TBookmarkStr на соответствующую строку...


 
Aleksandr ©   (2002-04-02 13:20) [4]

Ну, я не совсем понял, в чем возникла проблема... Структура таблицы организовывается очень просто:
ID ParentID [Остальные данные]
В свойство Дата итемов при создании таблицы вписываете ее Id. Верхний уровень имеет ParentID=0, остальные - соответственно (не номера уровней, а уникальные идентификаторы главного в своей ветке). И при изменении итемы Дерева накладываете метод скроллирования таблицы по Data этой итемы. А если какую-то ветку перенесли на другой уровень, так дочерним итемам дела до этого вообще нет - они помнят ИД своего начальника, а у него меняется один-единственный ParentID...
Вот, нашел я какой-то старый исходничек, не помню, на каком этапе он работает... Лови и смотри...


 
3asys   (2002-04-02 13:52) [5]

> Aleksandr
> Lusha

Спасибо большое. Попробую.

С Уважением, Александр


 
Nikolay M. ©   (2002-04-02 18:11) [6]

А я пользую RADBTreeView из RALib.


 
Sergey13 ©   (2002-04-03 10:35) [7]

2Aleksandr © (02.04.02 12:46)
>Если тот, который одну таблицу выстраивает по Id-OwnerID, то таких нет.
Ну зачем же так категорично. Их есть. Я давно и с успехом юзаю DbTreeView из библиотеки Polaris ( http://polesoft.da.ru). Именно так она и работает. И неплохо. Там кстати есть даже DbLookupTree и DbLookupComboTree.

23asys (02.04.02 12:55)
Насчет редактирования. Если ты имеешь в виду "прямого" редактирования дерева - не пробовал, не знаю, и думаю это проблематично. А обработчиков типа "Добавить узел/подузел" создавай сколько влезет.

ЗЫ
Единственный недостаток - медленно работает на больших объемах. Но это беда скорей не конкретной библиотеки а вообще "деревянных" методов. Для приемлемой скорости стараюсь больше 200-300 итемов не пихать в деревяшку.



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

Текущий архив: 2002.04.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
1-69781
Darlok
2002-04-09 17:47
2002.04.22
Dll


1-69852
Sergey Saf
2002-04-06 21:13
2002.04.22
Комбинация кнопок


3-69670
vopros
2002-04-03 11:50
2002.04.22
Bde и xls и txt c разделителями tab


1-69784
$hiC0
2002-04-10 11:25
2002.04.22
Print и PrintDialog


3-69701
VAleksey
2002-03-27 11:11
2002.04.22
Работа с ADOTable