Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как отобразить дерево в DbGridEh? [D6, Paradox]


Страницы:   1 2

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 не спрашивали.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо