Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Урок11.doc
Скачиваний:
9
Добавлен:
19.09.2019
Размер:
315 Кб
Скачать
☆
  1. Группировки данных

Для группировок информации используется компонент 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 так, чтобы оно содержало Table1.TOVAR.

В компоненте подвала группы QRBand4 будем подсчитывать сумму по полю KOLVO (сумму отпущенного конкретного товара). Для этого разместим в подвале группы компонент TQRExpr (имя QRExpr2) и определить значение его свойства Expression так, чтобы оно содержало формулу SUM(Table1.TOVAR).

В группе детальной информации разместим компоненты TQRDBText, связанные с полями Pokup и Kolvo. Заполним области отчета статическим текстом, как это показано на рис.14.

Рис. 14. Макет отчета с группировкой по товару.

Рис. 15. Отчет с группировкой по товару в окне предварительного прсмотра.

  1. Множественная группировка данных

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

Пусть требуется представить в отчете сведения о расходе товаров со склада группируя данные по товарам, а внутри группы – по покупателям. Установим текущий индекс по полям TOVAR, POKUP. Общий вид отчета на этапе разработки приводится на рис.17, а в окне предварительного просмотра – на рис.18.

Рис.17. Макет отчета с вложенными группами.

Рис. 18. Отчет с вложенными группами.