Разработка баз данных в Delphi. 11 Уроков



         

Глава 20 Группировки данных


Для группировок информации используется компонент TQRGroup. Его свойство Expression указывает некоторое выражение, которое используется для группировки, иными словами, в группу входят записи, удовлетворяющие условию этого выражения. При смене выражения происходит смена группы.

Для каждой группы выводятся ее заголовок и подвал. В качестве заголовка группы используется компонент TQRBand со значением свойства BandType, равным rbColumnHeader, а в качестве подвала – со значением rbGroupFooter. Свойство FooterBand компонента TQRGroup должно содержать ссылку на компонент подвала группы. В заголовке группы, как правило, выводится группирующее выражение, а в подвале группы – агрегированная информация: суммарные, средние и т.п. значения по группе в целом.

 

Пример.

Построим отчет о расходе товара со склада, в котором информация группируется по наименованию товара. Для этого определим набор данных отчета (компонент TTable, имя Table1). Установим у НД текущим индекс по полю TOVAR (в свойстве FieldIndexNames или IndexName). Разместим в отчете:

·        заголовок отчета – компонент TQRBand с именем QRBand1, свойство BandType=rbTitle;

·        заголовок столбцов – компонент TQRBand с именем QRBand2, свойство BandType=rbColumnHeader;

·        группу – компонент TQRGroup с именем QRGroup1;

·        область детальной информации – TQRBand с именем QRBand3, свойство BandType=rbDetail;

·        подвал группы – TQRBand с именем QRBand4, свойство BandType=rbGroupFooter;

В компоненте QRGroup1 установим:

·        в свойство FooterBand значение QRBand4;

·        в свойство Expression значение Table1.TOVAR, которое является формулой и строится в редакторе формул.

Поскольку свойство Expression не визуализирует значения выражения, необходимо разместить в группе компонент TQRExpr (имя QRExpr1) и определить значение его свойства Expression


Содержание  Назад  Вперед