![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отобразить дерево в DbGridEh? [D6, Paradox]
Mishenka © (2006-09-19 14:50:00)Есть в таблица, в которой записи может соответствовать другая запись из той же таблицы (что-то типа дерева). Как сделать отображение всего этого в DBGridEh (из EHLib) как в проводнике, тобишь жмёшь на крестик слева и открывается список дочерних записей и т.д. ?
atruhin (2006-09-27 14:31:00) [1]А значений NULL в поле нету?
Mishenka (2006-09-27 09:53:00) [2]Вроде всё сделал и вроде заработало. Решил создать индексы, как указано в доке. После этого в момент выполнения MemTableEh.Open вылезает ошибка 'TMTIndexEh.FindKeyValueIndex: values is not comparable'. Может кто-нибудь пробовал создавать индексы в MemTableEh, с чем это может быть связано?
Rule (2006-09-21 14:18:00) [3]ухты сам не знал, присоединяюсь к благодарностям
Johnmen (2006-09-21 12:45:00) [4]
> dr Gonzo (21.09.06 11:54) [18]
Благодарю.
Лично я не знал, ибо не пользовался TMemTableEh.
atruhin (2006-09-21 12:23:00) [5]> Поподробней, пожалуйста, где и как.
Да некуда там подробнее то. По шагам разжевано.
dr Gonzo (2006-09-21 11:54:00) [6]2 Johnmen ©
По поводу как отображает Tree EhLib:
описание с сайта :
....
DBGridEh show the hierarchical structure of records in TMemTableEh.
....
Вид:
http://ehlib.com/IMAGES/dbgridehform14.gif
Доп-я информация:
http://ehlib.com/dbgrideh1.htm
Ega23 (2006-09-21 11:33:00) [7]Я писал свой TDBTreeView, но он узкоспециализирован. Заточен под конкретную задачу. Исходники могу выслать, мне не жалко.
zdm (2006-09-21 10:57:00) [8]Нет компонента "ДЕРЕВО" для всех случаев, поэтому только - классический TreeView, и изголяйся с ним как хочешь :)
zdm (2006-09-21 10:48:00) [9]ой извини, http://www.soft32.ru/delphi.shtml?topic=comps&title=dbtreeview
zdm (2006-09-21 10:47:00) [10]классика, создаешь табличку
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
alex_*** (2006-09-21 10:46:00) [11]а не проще для отображения дерева использовать дерево? то бишь TreeView?
Johnmen (2006-09-21 10:44:00) [12]
> без ника (19.09.06 16:27) [9]
> В EhLib от 4 версии и выше появилась возможность отображать
> дерево. Пример есть в комплекте поставки.
Поподробней, пожалуйста, где и как.
Mishenka (2006-09-21 10:29:00) [13]А кто-нибудь пробовал это на практике? А то я настроил всё как в мануале написано, а грид дерево всё равно неотображает ...
atruhin (2006-09-20 12:38:00) [14]> [9] без ника (19.09.06 16:27)
ДА. Все умеет. Подробная документация.
> [8] ANB © (19.09.06 15:19)
> Если денег жалко - то лучше задействовать TTreeView
Не советую. Для работы с БД, особенно если нужна, динамическая подгрузка, поиски и т.д. довольно много ручной работы. Проще использовать TVirtualTreeView, один раз разобраться, потом удобнее, функциональней, есть готовые обертки для БД и т.д.
без ника (2006-09-19 16:27:00) [15]В EhLib от 4 версии и выше появилась возможность отображать дерево. Пример есть в комплекте поставки.
ANB (2006-09-19 15:19:00) [16]Если денег жалко - то лучше задействовать TTreeView
ANB (2006-09-19 15:19:00) [17]
> что такое DevExpress
Библиотека компонентов. Мне не нравится.
> где его взять?
Можно у них на сайте. Полный комплект стоит не так уж дорого.
ANB (2006-09-19 15:18:00) [18]
> ты давай отвечай как отображать!... ;)
Значится, перехватываешь отрисовку грида. Заставляешь рисоваться слева крестик. Перехватываешь обработку событий мыши (достаточно клика), ловишь момент нажатия на крестик. По этому нажатию лезешь в БД, достаешь список дочерних элементов и заставляешь грид рисовать их.
Примерно так.
Mishenka (2006-09-19 15:16:00) [19]А что такое DevExpress и где его взять?
sniknik (2006-09-19 15:14:00) [20]а вот про DevExpress не спрашивали.