C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
DBGrid и заголовки столбцов, Объединить в группу
iAlexander
  Отправлено: 22.09.2003, 08:26


Дежурный стрелочник

Группа: Участник
Сообщений: 70



Здравствуйте все.
У меня следующая проблема: есть DBGrid, для каждого столбца есть название, но: некоторые столбцы необходимо дополнительно объединить в группу. Т.е. есть 3 столбца RU USD EUR, а над ними необходима наадпись Стоимость. Кое-как выкрутился, повесив над DBGrid'ом HeaderControl, но конечно при прокрутке Грида весь смысл съезжает. Может, есть компонент, реализуующий нужные действия, или же можно как-то укротить и HeaderControl. HeaderControl я просто нашел методом тыка мышкой в панель инструментов.
В картинке мое безобразие.

Присоединить изображение

Присоединить изображение

Admin
Отправлено: 22.09.2003, 09:08


Владимир

Группа: Администратор
Сообщений: 1190



Воспользуйтесь компонентом DBGridEh из библиотеки EhLib:
http://www.farpost.com/personal/dmitryb/RUS/

QUOTE

Complex titles.
TDBGridEh allows to create title above several columns. See Figure:

To do it set DBGridEh.UseMultiTitle property to True and fill label of the fields or caption of title of the column using next rule: every part of text  in field label or column title must consist of several parts divided by sign "|", where every common part is same for several columns. Other fields or captions must contain same text in corresponding parts.  

For instance:

Field1.DisplayLabel := 'Title1|SubTitle1';
Field2.DisplayLabel := 'Title1|SubTitle2';
   or
DBGridEh.Columns[0].Title.Caption := 'Title1|SubTitle1';
DBGridEh.Columns[1].Title.Caption := 'Title1|SubTitle2';
Title acts as button.
To force title cells act as button set Column.Title.TitleButton to True. Write an OnTitleBtnClick event to take specific action when the user clicks on title cell.



user posted image

Вернуться в Работа с базами данных в C++Builder