<<
>>

Лекция 6.2 Компоненты формирования структуры отчета

Полосы отчета

На компоненте TQuickRep нельзя размещать визуальные компоненты отображения данных, т.к. это не даст никакого результата. Для размещения элементов отображения данных используются полосы отчета (Bands).

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

Полосы удобно помещать на компонент TQuickRep через свойство Bands, но можно использовать специальные компоненты, расположенные в палитре компонентов.

Рассмотрим типы полос и их назначение:

· PageHeader и PageFooter - верхний и нижний колонтитулы отчета соответственно. Служат для отображения служебной информации.

· Title и Summary - заголовок и примечание отчета соответственно. Информация, размещенная на этих полосах, печатается только один раз в начале (Title) и в конце (Summary) всего отчета.

· ColumnHeader – заголовок столбцов таблицы. Печатается вверху каждой страницы отчета, но после полосы PageHeader (и после полосы Title на первой странице). В многоколоночном отчете печатается для каждой колонки

· Detail – полоса, отображающая информацию из НД или вычисляемых полей

· SubDetail – полоса, используемая при создании отчетов для связанных таблиц. Отображает информацию из подчиненной таблицы

· GroupHeader и GroupFooter – заголовок и примечание группы соответственно. Используется для группировки данных в отчете. Отображает информацию в начале (GroupHeader) и конце (GroupFooter) каждой группы.

Все полосы отчета являются представителями одного класса TQRBand, рассмотрим его основные свойства:

· AlignToBottom: Boolean – если значение равно true, то полоса печатается внизу страницы;

· BandType: TQRBandType – тип полосы;

· Font: TFont – шрифт, для размещенных на полосе компонентов. Имеет более высокий приоритет, чем аналогичное свойство компонента TQuickRep;

· Frame: TQRFrame – используется для задания рамки вокруг полосы;

· HasChild: Boolean – используется для создания дочерней полосы;

· Size: TQRBandSize – размер полосы.

Класс TQRBand содержит немного методов, из которых стоит упомянуть лишь один:

function AddPrintable(PrintableClass: TQRNewComponentClass) : TQRPrintable, который используется для добавления на полосу компонентов во время выполнения программы.

Компонент TQRBand может обрабатывать только два события:

· AfterPrint – вызывается после окончания печати или просмотра полосы;

· BeforePrint – вызывается перед началом печати или просмотра полосы.

Компоненты визуализации данных в отчете

Компоненты визуализации данных используются для отображения в отчете информации из полей таблиц базы данных, поясняющих надписей, а также для оформления внешнего вида отчета. Условно все элементы отображения данных можно разделить на три группы:

· компоненты для отображения информации из БД;

· компоненты для отображения информации, не связанной с БД;

· компоненты для оформления внешнего вида отчета.

Компоненты отображения информации из БД имеют свойство DataSet: TDataSet используемое для подключения к НД из которого черпается отображаемая информация.

Компоненты визуализации данных в основном являются аналогами компонентов отображения и редактирования данных, рассмотренных ранее, поэтому приведем только краткое описание каждого из них:

Компоненты отображения информации из БД

TQRDBText используется для отображения значений текстовых и числовых полей, полей даты, а также memo-полей таблицы базы данных. Набор данных, с которым связывается данный компонент, задается в свойстве DataSet, а поле – в свойстве DataField. С помощью свойства AutoStretch задается, следует (true) или нет (false) изменять вертикальный размер компонента TQRDBText при выводе информации в соответствии с размером содержимого memo-поля;

TQRDBRichEdit используется для отображения текста, хранящегося в БД, в формате RTF. Связь с набором данных и полем осуществляется с помощью свойств DataSet и DataField;

TQRDBImage применяется для вывода графических изображений, хранящихся в BLOB-полях базы данных.

Связь с набором данных и полем реализуется с помощью свойств DataSet и DataField;

Компоненты не связанные с БД

Компонент TQRExpr используется для отображения результатов вычислений, не имеет аналогов среди стандартных компонентов VCL. Вычисляемое выражение задается с помощью свойства Expression. Обычно используется мастер построения выражений (рисунок 6.2.1.). Построитель выражений упрощает процесс задания выражения и позволяет избежать ошибок.

Рисунок 6.2.1 - Окно мастера построения выражений

С помощью свойства ResetAfterPrint компонента TQRExpr указывается, следует ли очищать значение этого компонента после его вывода в отчете. Данное свойство используется при подведении итогов по каждой группе в группированном отчете. Операторы и функции, применяемые в выражения:

1. Арифметические операторы (+, /, *, –)

2. Логические выражения:

ü Логические операторы (AND, OR, NOT)

ü Логические константы (TRUE, FALSE)

ü Операторы сравнения (>, =,

<< | >>
Источник: РазработкА и эксплуатациЯ автоматизированных информационных систем. ЛЕКЦИИ.

Еще по теме Лекция 6.2 Компоненты формирования структуры отчета:

  1. 7.1. Сущность и состав территориальных финансов
  2. Государство и церковь.