Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2010, 16:42   #1
AK BULLETS
Пользователь
 
Регистрация: 18.03.2010
Сообщений: 88
По умолчанию Группировка и раскрытие в DBGREDEH

Подскажите пожалуйста, может кто делал.
Таблица в БД имеет след. формат:
ID - счётчик (уникальный ключ)
ID_OBJ - тут ключ повторяется (связь с другой таблицей)
POL1 - всякие данные
POL2 - всякие данные

содержимое примерно такое:
1 1 объект1 fds kljhkljh
2 1 объект1 kljhlk jkhlkjhlkj
3 1 объект1 kjh kljlkjl;;klj
4 3 объект3 kjhkj [p o[po[p
5 3 объект3 jhhi oioiupiupoi

Я отображаю эту таблицу через Datadriver и memtable в dbgredEH.
Хотелось бы, чтобы отображались записи не так, как выше, а типа дерева, с раскрытием по второму полю ИЛИ типа как excel с объединением ячеек.
AK BULLETS вне форума Ответить с цитированием
Старый 06.04.2010, 17:31   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Код:
  MemTableEh.TreeList.KeyFieldName := 'ID';
  MemTableEh.TreeList.RefParentFieldName := 'ID_OBJ';
  MemTableEh.TreeList.DefaultNodeExpanded := True; //если надо чтобы дерево показывалось уже раскрытым
  MemTableEh.TreeList.Active := True;
Те записи, у которых значения поля ID_OBJ равно значению ID будут отображаться на втором уровне дерева.
Скандербег вне форума Ответить с цитированием
Старый 06.04.2010, 17:32   #3
AK BULLETS
Пользователь
 
Регистрация: 18.03.2010
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Скандербег Посмотреть сообщение
Код:
  MemTableEh.TreeList.KeyFieldName := 'ID';
  MemTableEh.TreeList.RefParentFieldName := 'ID_OBJ';
  MemTableEh.TreeList.DefaultNodeExpanded := True; //если надо чтобы дерево показывалось уже раскрытым
  MemTableEh.TreeList.Active := True;
Те записи, у которых значения поля ID_OBJ равно значению ID будут отображаться на втором уровне дерева.

Не подходит. Id b ID_OBJ не связаны как код и родитель. Именно сгруппировать только по ID_OBJ можно.
AK BULLETS вне форума Ответить с цитированием
Старый 06.04.2010, 18:03   #4
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Цитата:
Id b ID_OBJ не связаны как код и родитель. Именно сгруппировать только по ID_OBJ можно.
А что означает "не связаны"? Хотелось бы по подробнее. Фраза не понятна.
К тому же, у пары MemTableEh и DBGridEh других возможностей отображать "деревья" нет.
Записи отображаются в виде дерева по значениям указанных в свойствах KeyFieldName и RefParentFieldName полей таблицы. Никаких специальных "связей" не требуется. Необходимо только чтобы значения в "ссылочном" поле совпадали со значениями "родительского" поля.
Дерево из приведенного примера будет выглядеть примерно так:
+1 1 объект1 fds kljhkljh
--- 2 1 объект1 kljhlk jkhlkjhlkj
--- 3 1 объект1 kjh kljlkjl;;klj
+4 3 объект3 kjhkj [p o[po[p
--- 5 3 объект3 jhhi oioiupiupoi

Последний раз редактировалось Скандербег; 06.04.2010 в 18:21.
Скандербег вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Группировка Pretorianec79 Microsoft Office Excel 2 19.01.2010 14:36
как запретить раскрытие формы Анастасия123456789 Помощь студентам 3 21.04.2009 11:53
раскрытие веббраузера Анастасия123456789 Помощь студентам 3 06.04.2009 08:28
Скрытие и раскрытие столбцов по выбору ComboBox'а gora_omsk Microsoft Office Excel 2 10.02.2009 06:37
Раскрытие txt в таблицу,какой цикл? Kukkk Общие вопросы Delphi 9 02.07.2007 14:31