Компонент TAvDBGrid
Автор Юрий Астафьев, Российская Федерация

Сетка с иерархическим многострочным заголовком

Сайт обновлён:

23 июля 2020 г.

Контакты:

тел.:
+7 (926) 223-86-06

e-mail:
contact@forpostsoft.ru

Компонент TAvDBGrid

Программный компонент TAvDBGrid предназначен для среды визуального проектирования Дельфи. Компонент, является наследником VCL компонента Дельфи TCustomDBGrid. По сравнению с родительским компонентом TAvDBGrid предоставляет пользователям следующий дополнительный функционал:

  • поддержку многоуровневых иерархических заголовков с интерактивным формированием заголовков во время проектирования;
  • автоматическое формирование фона различной яркости для четных и нечетных записей (фон "Зебра");
  • автоматическую подгонку ширины столбцов под ширину компонента.

Иерархические заголовки в TAvDBGrid являются самостоятельными объектами не связанными со структурой отображаемых данных. Это дает программисту полную свободу творчества и обеспечивает создание максимально понятных, информативных и дружественных пользователю заголовков.

Демо-ролик «Компонент TAvDBGrid»

Демо-ролик хорошо смотрится при раскрытии на весь экран.

Реализация иерархических заголовков в TAvDBGrid

Операции формирования, редактирования и удаления иерархических заголовков выполняются при помощи пользовательских пунктов выпадающего меню компонента.

Формирование заголовка состоит из трёх шагов. На первом шаге в меню компонента (рис. 1) выбирается пункт Mark columns for title (Пометить столбцы для заголовка)


Рис. 1. Установка режима пометки столбцов для создания заголовка.

На втором шаге, кликом правой кнопкой мыши на заголовке, помечаются заголовки, над которыми требуется создать новый заголовок. При клике помеченные заголовки меняют цвет (рис. 2).


Рис. 2. Пометка Title-8 и Title-9 для создания заголовка над ними.

На третьем шаге в выпадающем меню компонента необходимо выбрать пункт Create title (Создать заголовок), в результате над помеченными заголовками будет сформирован новый заголовок (рис. 3).


Рис. 3. Новый заголовок Title-10 над заголовками Title-8 и Title-9.

Вывод свойств заголовка в Object Inspector

При клике на любом заголовке компонента TAvDBGrid левой кнопкой мыши происходит "вдавливание и залипание" заголовка и вывод его свойств в окно Object Inspector (рис. 4). При повторном клике на этом же заголовке, а также при клике на другом заголовке, на другом компоненте формы или на самой форме, заголовок принимает свой обычный вид.


Рис. 4. Вывод свойств заголовка Title-9 в Object Inspector.

Добавление столбцов

Добавление столбца производится при выборе пункта Add/Insert column (Добавить/Вставить столбец) выпадающего меню компонента. Текст пункта меню и соответствующего ему субменю формируется динамически и зависит от положения активного заголовка в общей структуре шапки.



Рис. 5. Добавление столбца под заголовок Title-10.

Новый столбец вставляется слева от активного ("вдавленного") столбца либо после всех столбцов, если активный столбец не установлен.

Удаление заголовков и столбцов

Удаление заголовка компонента производится следующим образом. Заголовок, который необходимо удалить, делается активным, вызывается выпадающее меню компонента и выбирается пункт Remove title (Удалить заголовок). После этого происходит программное удаление заголовка.



Рис. 6. Удаление заголовка Title-9.

Автоматическая подгонка ширины столбцов под ширину компонента

Компонент TAvDBGrid предоставляет возможность автоматически изменять ширину столбцов с целью обеспечения видимости всех столбцов и полного покрытия столбцами поля компонента по ширине. Активизация данного функционала производится установкой свойства ColsStretch в состояние tcAllStretch или tcRightStretch.

На рис. 7 показано автоматическое изменение ширины столбцов при уменьшении ширины компонента. При изменении ширины одного столбца, сохранение суммарной ширины производится за счет изменения ширины других столбцов.


Рис. 7. Автоматическое изменение ширины столбцов при изменении ширины компонента.

Установка фона строк типа "Зебра"

Автоматическое формирование фона различной яркости для четных и нечетных строк предназначенных для вывода данных регулируется в компоненте свойством FonZebra : boolean; При значении FonZebra = True формируется фон "Зебра" (см. рис. 1-7), при значении FonZebra = False, формируется однотонный фон, цвет которого определяется цветом соответствующих столбцов.


Рис. 8. Вид компонента TAvDBGrid при значении свойства FonZebra = False.

Иконка компонента

Компоненте TAvDBGrid на инструментальной панели Delphi соответствует иконка - расположенная на закладке AvComponents



Copyright © 2011-2016 Астафьев Ю.Б.