Форум: "Базы";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
ВнизКак отобразить дерево в DbGridEh? Найти похожие ветки
← →
Mishenka (2006-09-19 14:50) [0]Есть в таблица, в которой записи может соответствовать другая запись из той же таблицы (что-то типа дерева). Как сделать отображение всего этого в DBGridEh (из EHLib) как в проводнике, тобишь жмёшь на крестик слева и открывается список дочерних записей и т.д. ?
← →
Sergey13 © (2006-09-19 15:09) [1]> [0] Mishenka (19.09.06 14:50)
А ЕхЛиб может дерево отображать?
← →
ANB © (2006-09-19 15:12) [2]
> Mishenka (19.09.06 14:50)
Поставь DevExpress. Он умеет нечто подобное.
← →
sniknik © (2006-09-19 15:14) [3]какая разница может или нет? не об этом же спрашивали. ты давай отвечай как отображать!... ;)
← →
sniknik © (2006-09-19 15:14) [4]а вот про DevExpress не спрашивали.
← →
Mishenka (2006-09-19 15:16) [5]А что такое DevExpress и где его взять?
← →
ANB © (2006-09-19 15:18) [6]
> ты давай отвечай как отображать!... ;)
Значится, перехватываешь отрисовку грида. Заставляешь рисоваться слева крестик. Перехватываешь обработку событий мыши (достаточно клика), ловишь момент нажатия на крестик. По этому нажатию лезешь в БД, достаешь список дочерних элементов и заставляешь грид рисовать их.
Примерно так.
← →
ANB © (2006-09-19 15:19) [7]
> что такое DevExpress
Библиотека компонентов. Мне не нравится.
> где его взять?
Можно у них на сайте. Полный комплект стоит не так уж дорого.
← →
ANB © (2006-09-19 15:19) [8]Если денег жалко - то лучше задействовать TTreeView
← →
без ника (2006-09-19 16:27) [9]В EhLib от 4 версии и выше появилась возможность отображать дерево. Пример есть в комплекте поставки.
← →
atruhin © (2006-09-20 12:38) [10]> [9] без ника (19.09.06 16:27)
ДА. Все умеет. Подробная документация.
> [8] ANB © (19.09.06 15:19)
> Если денег жалко - то лучше задействовать TTreeView
Не советую. Для работы с БД, особенно если нужна, динамическая подгрузка, поиски и т.д. довольно много ручной работы. Проще использовать TVirtualTreeView, один раз разобраться, потом удобнее, функциональней, есть готовые обертки для БД и т.д.
← →
Mishenka (2006-09-21 10:29) [11]А кто-нибудь пробовал это на практике? А то я настроил всё как в мануале написано, а грид дерево всё равно неотображает ...
← →
Johnmen © (2006-09-21 10:44) [12]
> без ника (19.09.06 16:27) [9]
> В EhLib от 4 версии и выше появилась возможность отображать
> дерево. Пример есть в комплекте поставки.
Поподробней, пожалуйста, где и как.
← →
alex_*** © (2006-09-21 10:46) [13]а не проще для отображения дерева использовать дерево? то бишь TreeView?
← →
zdm © (2006-09-21 10:47) [14]классика, создаешь табличку
ID integer(уникальный идентификатор)
PID integer (кто будет родителем)
NAME string (ну и соотвсетсвенно название)
...
можно добавить еще поле
TREE (это удобно, допустим когда встаешь на ветку которая имеет вложения и хочешь отобразить все содержимое, это, типа 1.,1.1 и т.д. и на событие, например, онклик тривью, select from таблица where TREE LIKE 1.%)
..
А вообще есть компоненты, например JV, очень удобно, весь RXLib + свои.
..
И почитай статью, ну например
http://www.delphikingdom.com/asp/articles_forum.asp?ArticleID=488
← →
zdm © (2006-09-21 10:48) [15]ой извини, http://www.soft32.ru/delphi.shtml?topic=comps&title=dbtreeview
← →
zdm © (2006-09-21 10:57) [16]Нет компонента "ДЕРЕВО" для всех случаев, поэтому только - классический TreeView, и изголяйся с ним как хочешь :)
← →
Ega23 © (2006-09-21 11:33) [17]Я писал свой TDBTreeView, но он узкоспециализирован. Заточен под конкретную задачу. Исходники могу выслать, мне не жалко.
← →
dr Gonzo (2006-09-21 11:54) [18]2 Johnmen ©
По поводу как отображает Tree EhLib:
описание с сайта :
....
DBGridEh show the hierarchical structure of records in TMemTableEh.
....
Вид:
http://ehlib.com/IMAGES/dbgridehform14.gif
Доп-я информация:
http://ehlib.com/dbgrideh1.htm
← →
atruhin © (2006-09-21 12:23) [19]> Поподробней, пожалуйста, где и как.
Да некуда там подробнее то. По шагам разжевано.
← →
Johnmen © (2006-09-21 12:45) [20]
> dr Gonzo (21.09.06 11:54) [18]
Благодарю.
Лично я не знал, ибо не пользовался TMemTableEh.
← →
Rule © (2006-09-21 14:18) [21]ухты сам не знал, присоединяюсь к благодарностям
← →
Mishenka (2006-09-27 09:53) [22]Вроде всё сделал и вроде заработало. Решил создать индексы, как указано в доке. После этого в момент выполнения MemTableEh.Open вылезает ошибка "TMTIndexEh.FindKeyValueIndex: values is not comparable". Может кто-нибудь пробовал создавать индексы в MemTableEh, с чем это может быть связано?
← →
atruhin © (2006-09-27 14:31) [23]А значений NULL в поле нету?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.037 c