Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
77
Добавлен:
16.04.2013
Размер:
820 Кб
Скачать

Компоненты генератора отчетов QuickReport

Компонент TQuickRep, размещенный на форме, представляется сеткой отчета, в которую затем помещаются составные части отчета, например, полосы TQRBand. Основные свойства компонента TQuickRep приведены в табл.1.

Таблица 1

Основные свойства компонента TQuickRep

Свойство

Назначение

Bands

Множество полос, включаемых в отчет. Каждой полосе соответствует определенный элемент свойства: HasColumnHeader - заголовки столбцов; HasDetail - детальная информация; HasPageFooter - нижний колонтитул; HasPageHeader - верхний колонтитул; HasSummary - итоги для отчета; HasTitle - заголовок отчета. Полоса включается в отчет, если соответствующий элемент свойства равен True

Окончание табл.1

Свойство

Назначение

DataSet

Указывает набор данных, для которого создается отчет. Если нужно вывести связанную информацию из нескольких таблиц базы данных, то ее объединяют в одном наборе данных при помощи компонента Tquery. Если таблицы связаны отношением “главная-подчиненная”, то указывается главная таблица, а ссылка на соответствующие подчиненные таблицы задается в компонентах TQRSubDetail

Description

Описание отчета

Font

Шрифт, которым будет печататься информация в отчете

Frame

Параметры рамки отчета

Options

Параметры отчета

Page

Параметры страницы отчета

ShowProgress

Разрешает (True) или запрещает (False) показывать индикатор процесса печати отчета

Units

Единицы измерения расстояний в отчете (дюймы, миллиметры, пиксели и т.д.)

Zoom

Масштаб отображения отчета (в процентах от его размеров на листе бумаги) на этапе разработки

Многие из этих свойств можно установить на этапе конструирования с помощью редактора свойств, если в локальном меню компонента TQuickRep выбрать пункт Report settings (рис.1).

Компонентом TQuickRep можно управлять с помощью имеющихся у него методов. В частности, методы Preview и PreviewModal активизируют окно предварительного просмотра отчета (рис.2), а метод Print инициирует печать отчета на принтере. Чтобы на этапе конструирования отобразить в окне предварительного просмотра содержимое отчета в том виде, в каком оно будет выводиться на печать, нужно выбрать пункт Preview в локальном меню компонента TQuickRep. При этом некоторые данные (например, значения вычисляемых полей) отображаться не будут, поскольку они вычисляются только во время выполнения приложения.

Рис.1. Окно установки параметров отчета

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

Стандартное окно предварительного просмотра отчета не всегда удобно, поскольку его элементы управления невозможно изменить (например, русифицировать). Поэтому можно воспользоваться компонентом TQRPreview, предназначенным для создания нестандартного окна просмотра. Чтобы отобразить отчет в нестандартном окне просмотра, нужно в форму с компонентом TQuickRep поместить компонент TQRPreview, настроить его и предусмотреть его активизацию методом Show.

Компоненты TQRBand задают полосы отчета и используются для размещения таких компонентов, отображающих информацию, как TQRLabel, TQRDBText, TQRDBImage и т.п. Основные свойства ком­понента TQRBand приведены в табл.2.

Таблица 2

Основные свойства компонента TQRBand

Свойство

Назначение

AlignToBottom

Если значение этого свойства задано равным True, то полоса печатается всегда внизу страницы; причем если это полоса детальной информации, то она будет единственной на странице

BandType

Назначение полосы

Font

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

Frame

Параметры рамки вокруг полосы

Size

Размер полосы

Свойство BandType указывает назначение полосы, например: rbTitle - полоса содержит заголовок отчета; rbPageHeader - полоса содержит верхний колонтитул; rbDetail - полоса содержит информацию из набора данных, заданного свойством DataSet компонента TQuickRep (полоса выводится каждый раз при переходе на новую запись в наборе данных; эта полоса повторяется для всех записей набора данных, начиная с первой записи и кончая последней; позиционирование на первую запись и последовательный перебор записей осуществляется компонентом TQuickRep автоматически).

Поместить компонент TQRBand в сетку отчета и указать назначение представляемой им полосы отчета можно двумя способами:

1) выбрать компонент TQRBand в палитре компонентов, разместить его на компоненте TQuickRep и выбрать значение свойства BandType, соответствующее назначению полосы;

2) в группе Bands окна установки параметров отчета (см. рис.1) пометить “галочкой” переключатель, соответствующий включаемой в отчет полосе. Все указанные таким способом полосы будут помещены в сетку отчета после закрытия окна.

Компонент TQRBand может обрабатывать только события AfterPrint и BeforePrint, которые наступают соответственно после окончания и перед началом печати или просмотра полосы отчета.

К

Рис.3. Окно редактора формул

омпонент TQRExpr
позволяет поместить в отчет результат вычисления выражения, которое формируется с помощью редактора формул. Окно редактора формул (рис.3) активизируется кнопкой, имеющейся в поле свойства Expression этого компонента, которое отображается в окне инспектора объектов.

Поле Enter expression служит для ввода и редактирования выражения, которое может состоять из имен полей (столбцов) таблиц, функций и переменных, связанных знаками операций, набираемыми с помощью среднего ряда кнопок (табл.3). Имя поля таблицы (Data field), функция (Function) или переменная (Variable) добавляется в выражение с помощью вспомогательного окна, которое появляется при нажатии на соответствующую кнопку верхнего ряда.

Таблица 3

Соседние файлы в папке version3