Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.09.2011, 13:58
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
Вопрос Как правильно настроить вид TcxDBTreeView

Здравствуйте!
1. Нужно отобразить таблицу так, как выглядит обычный TcxGrid с группировкой GroupByBox - в таблице образуются древовидные группы с [+], выглядящие примерно как Проводник, заголовок группы пишется один раз и выделяется цветом/стилем.
В принципе устроил бы и сам TcxGrid, но у него несколько меньше функций и нет возможности назначать рисунки групп. В TcxDBTreeView получается сделать вид почти то что нужно, но выглядит немного иначе - поле нужное выбрано, группировка работает, [+] появляется, но в каждой строке прописывается значение этого поля, тогда как нужно, чтобы значение поля группировки прописывалось только один раз как заголовок группы, чтобы этот заголовок был вынесен в отдельную строку (в точности как группирвока в обычном TcxGrid).
2. Нужно отлавливать двойной клик двух типов - по строке и по заголовку (полю группировки) и выполнять разные действия - каким свойством лучше проверять куда кликнул юзер (для TcxGrid с группировкой и для TcxDBTreeView)? Что-то вроде HitTest? Или есть нечто более удобное?
Подскажите, пожалуйста, как это сделать?

Последний раз редактировалось delphicoding, 14.09.2011 в 14:08.
Ответить с цитированием
  #2  
Старый 14.09.2011, 19:04
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

2) решён.

Может по вопросу 1-б сможете подсказать - как настроить нужный вид TcxDBTreeView ??

И ещё мелкое неудобство - TcxGrid при двойном клике на строку группы - группа сворачивается, чего быть не должно. Но должна быть возможность сворачивать группы по нажатию [+].
Отключаю в инспекторе объектов параметр ExpandMasterRowOnDblClick=False - всё равно группы сворачиваются. Пробовал на DblClick ставить и обратное разворачивание и запрет разворачивания вообще - они срабатывают, но ДО автоматической функции "Развернуть по двойному клику", в итоге разворот бесполезен, а запрет запрещает на совсем, что также криво
Ответить с цитированием
  #3  
Старый 14.09.2011, 20:53
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

Вторым неудобством при использовании TcxGrid оказалось то, что если в группе записей нет, то группа не отображается, хотя это необходимо...

Может кто сможет таки подсказать, как настроить нужным образом TcxDBTreeList ?
Ответить с цитированием
  #4  
Старый 26.09.2011, 12:41
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

Никто не умеет пользоваться TcxDBTreeList ???
Ответить с цитированием
  #5  
Старый 29.09.2011, 09:36
Аватар для Dead_Gigabit
Dead_Gigabit Dead_Gigabit вне форума
Начинающий
 
Регистрация: 20.10.2009
Адрес: Там где холодно и сыро.... брр
Сообщения: 135
Версия Delphi: Delphi XE
Репутация: 10
По умолчанию

Впринципе не чего сложного нет

1. Создаешь таблицу в БД

у меня:

Код:
CREATE TABLE SKLGROUP (
       NAME Char(100) NOT NULL,
       PARENT_ID Integer,
       IMG_ID Integer,
       ACCOUNT Char(30),
       ID Integer NOT NULL,
       CONSTRAINT PK_SKLGROUP PRIMARY KEY (ID)
);

2. Далее настраиваете dxDBTreeView:

1.DataSourse: ваша DataSourse
2.DisplayField - можно не указывать....
3. keyfiled : в данном примере ID
4. Listfield: в данном примере NAME
5. ParantField: в данном примере Parant_ID
6.RootValue -> Type должно стоять Null что бы компонент понимал, что если ветка поля родителя пустая (Parant_id) то это радитель
7.ImageIntexField: в данном примере IMG_ID чтобы отображались рисунки
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:02.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025