| ||||||||||||||||
![]() | ||||||||||||||||
| ||||||||||||||||
![]() | ||||||||||||||||
| ||||||||||||||||
![]() |
Многострочные заголовки в DbGrid В настоящее время мне, по работе, потребовался компонент DBGrid, который бы удовлетворял следующим требованиям:
Как обычно, начав поиск в Internet с Яндекса, я увы не нашел конкретного ответа: все что-то хвалили, но чаще всего взломанное или для Delphi 2, 3 и 4. Следующий шаг в поиске - посещение сайта "Королевство Дельфи". Извините меня, пожалуйста, но большей помойки, мне в последнее время давно не встречалось - увы !!! - королевство мертво - сотни вопросов и просьб - ответов нуль. Истиной в последней инстанции явился российский, но по неясным причинам - англоязычный, сайт Осталось 3 компонента, которые и были успешно закачены. Не буду долго рассказывать о всех, скажу только, что все они действительно хороши - есть даже она российская разработка моего тёзки Самым достойным оказался набор компонентов от фирмы
Следующие компоненты позволяют разработчику упростить пользователю процесс редактирования значений поля базы данных прямо в компоненте DbAltGrid, что во-первых, перекладывает обработку ошибок на сам компонент, а во-вторых, позволяет недопустить ввода неправильных значений:
При хорошей скорости доступа в Internet, вы можете посмотреть анимированные *.gif изображения, иллюстрирующие возможности всех компонентов, то нажав на эти маленькие картинки:
Кстати, все картинки не что иное, как копии с экрана демонстрационной программы, которая входит в архив. Установка пакета в Delphi и подключение справочной системы производится самой инсталляционной программой, что не должно вызвать затруднений. В результате палитра инструментов должна дополниться новой закладкой DbAltGrid, содержащей все указанные выше компоненты. Рекомендую для начала посмотреть работу демонстрационной программы, которая позволяет в real-time изменять свойства компонента DBGrid. Теперь перейдем непосредственно к рассмотрению компонента DbAltGrid, в частности, на нужном мне примере:
Перед Вами полностью работоспособный пример, в котором заголовок таблицы состоит из трех строк, при этом каждая строка раскрашена в свой цвет. Строки в журнале платежных поручений раскрашены в два цвета - это происходит путем установки соответствующего переключателя в Object Inspector. Интересно организовано перемещение по строкам и столбцам - а-ля 1C-Бухгалтерия версия 6. В нашем случае выделено поле "Получатель". Если нажать клавишу вниз, то станет активной следующая запись и тот же столбец, а при нажатии клавиш влево или вправо происходит перемещение по строке на предыдущее или следующее поле. Установкой в Инспекторе Объектов можно добиться того, чтобы DbAltGrid слегка затенял заголовок столбца, где в настоящий момент находится курсор. Рассмотрим новые свойства компонента DbAltGrid:
Появились свойства AltColor и AltOptions, которые я прокомментирую:
В примере с платежным поручением я показал только один способ создания многострочных заголовков у компонента DbAltGrid. Существует и второй, не менее интересный способ, широко применяемый в программе Microsoft Excel, когда столбцы группируются и их можно скрывать и показывать путем нажатия на знак [+] в заголовке рабочего листа. Рассмотрим следующий пример:
Что у нас имеется - 14 столбцов, имеющих отношение к платежным поручениям. Задача - вывести на ограниченном размерами окна компоненте DbAltGrid все столбцы. Вот как это делается:
Вызываем свойства столбцов DbAltGrid двойным нажатием на компонент. Теперь допустим, нам необходимо сгруппировать столбцы 8 и 9, которые относятся к получателю денежных средств, привязав их к полю 7, а поля 2, 10, 11 сгруппировать с полем 12. Как мы это делаем. Обратим внимание на свойства поля 8 в Инспекторе Объектов:
Появились два новых свойства: ParentName и Template. Если выбрать свойство ParentName, оно покажет список доступных полей компонента DbAltGrid. Выберем для Doc_PoluchSCHET поле Doc_PoluchINN, а затем то же самое - для поля Doc_PoluchBANK. Теперь посмотрим на результат нашей работы:
Если нажать на изображение [-] у поля "ИНН получ.", то будут скрыты столбцы "Р/с получ." и "Банк получ.":
Как видите, столбцы скрылись и появился "ИНН получ.". Обратите внимание, что заголовок появившегося столбца не умещается в отведенном ему размере, поэтому компонент DbAltGrid добавил троеточие. Чуть выше я коснулся еще одного нового свойства - Template. Это свойство разрешает применять компоненты инструментальной панели DbAltGrid, которые были описаны мною в начале статьи. Думаю, что их использование не доставит особых проблем. Если У Вас возникли вопросы, пишите, обязательно помогу. Удачи. |