- •Урок 11: Генерация отчетов Содержание
- •Компоненты для построения отчетов
- •Компонент tQuickRep
- •Свойства
- •События
- •Компонент tqrBand
- •Создание простейшего отчета
- •Использование компонента tqrexpr
- •Использование tqrBand для представления заголовков столбцов
- •Использование tqrBand для показа заголовка и подвала страницы.
- •Использование компонента tqrSysData
- •Группировки данных
- •Множественная группировка данных
- •Построение отчета главный-детальный
- •Построение композитного отчета
Использование tqrBand для представления заголовков столбцов
Компонент TQRBand, у которого в свойство BandType установлено значение rbColumnHeader, используется для размещения заголовков столбцов. Собственно заголовки столбцов формируются при помощи компонентов TQRLabel.
В рассмотренном в предыдущих разделах отчете разместим компонент TQRBand (имя QRBand3) и установим в свойства Caption этих компонентов соответственно значения №№, Товар, Количество, Дата. В свойствах Font компонентов выберем наклонный и подчеркнутый шрифт. Вызовем окно предварительного просмотра отчета – для каждой страницы отчета теперь будут выводиться названия столбцов (рис.12).
Рис.12. В отчете появились заголовки столбцов.
Использование tqrBand для показа заголовка и подвала страницы.
Компонент TQRBand, у которого в свойство BandType установлено значение rbPageHeader, используется для показа заголовка страницы, а если это свойство установлено в rbPageFooter, – для показа подвала страницы. Заголовок выводится в начале каждой страницы, а подвал – в ее конце. Информация в заголовке и подвале страницы может формироваться на основе статического текста (компоненты TQRLabel), значений полей (компоненты TQRDBText) и результатов вычислений выражений (компоненты TQRExpr).
Вернувшись к предыдущему примеру, разместим в отчете компонент TQRBand (имя QRBand4) и установим в его свойство BandType значение rbPageHeader. Не будем размещать в заголовке никакого текста, просто отчеркнем линию вверху страницы. Для этого установим в свойство компонента страницы Frame.DrawTop значение True, что обеспечивает вывод линии по верхнему краю области, занимаемой компонентом. Аналогичным образом определим в отчете компонент подвала страницы (имя QRBand5) и установим в его свойство Frame.DrawBottom значение True, что обеспечивает вывод линии по нижнему краю области, занимаемой компонентом.
Войдя в режим предварительного просмотра, увидим, что вверху и внизу каждой страницы отчета выводятся линии.
Использование компонента tqrSysData
Компонент TQRSysData используется для показа вспомогательной и системной информации. Вид показываемой информации определяется свойством
property Data: TQRSysDataType;
Ниже указаны возможные значения этого свойства.
Значение |
Что выводится |
qrsColumnNo |
Номер текущей колонки отчета (для одноколоночного отчета всегда 1). |
qrsDate |
Текущая дата. |
qrsDateTime |
Текущие дата и время. |
qrsDetailCount |
Количество записей в НД, а при использовании нескольких НД – количество записей в главном наборе. Для случая, когда НД представлен компонентом TQuery, эта возможность может быть недоступной, что связано с характером работы компонента TQuery, который возвращает столько записей, сколько необходимо для использования в текущий момент, а остальные предоставляет по мере надобности. |
qrsDetailNo |
Номер текущей записи в НД. |
qrsPageNumber |
Номер текущей страницы отчета. |
qrsPageCount |
Общее количество страниц отчета. |
qrsReportTitle |
Заголовок отчета. |
qrsTime |
Текущее время |
Разместим в компоненте QRBand5 подвала отчета два компонента TQRSysData. В свойство Data первого из них установим значение qrsDate, второго – qrsPageNumber. В режиме предварительного просмотра увидим, что теперь в подвале страницы выводятся номер страницы и текущая дата (рис.13)
Рис. 13. Показ номера страницы и текущей даты в подвале страницы.