Компонент TQuickRep
Как уже отмечалось, компонент TQuickRep является центральным для построения отчета, потому на данном шаге перечислим его важнейшие свойства, методы и события.
Свойства компоненту TQuickRep представлены в таблице 2.
Таблица 2. Свойства компоненту TQuickRep
Свойство | Описание |
property Bands : TQuickRepBands; | Состоит из огромного количества логических значений (False/True), которые определяют включение в отчет отдельных видов составляющих, :
|
property DataSet : TDataSet; | Указывает на набор данных, на основе которого создается отчет. Обычно для выдачи отчета используется один НД. Если нужно вывести связанную информацию из нескольких таблиц БД, ее объединяют в одном НД с помощью оператора SELECT. В этом случае как НД для отчета может использоваться компонент TQuery. Информацию из нескольких связанных НД можно включать в отчет, если эти наборы данных связаны в дополнении отношением Master - Detail. В этом случае как НД отчет указывается Master -набір, а ссылка на соответствующие Detail -набори осуществляется в компонентах TQRSubDetail. Если в отчет нужно включить информацию из несвязанных наборов данных, применяют композитный отчет, то есть отчет, составленный из группы других отчетов. |
property Frame : TQRFrame; | Определяет параметры рамки отчета :
|
property Options : TQROptions; | Содержит множество из следующих логических значений:
|
property Page : TQRPage; | Определяет параметры страницы. Все вложенные свойства этого сложного свойства доступные в окне ReportSetting. |
property PrintlfEmpty : Boolean; | Указывает (True), что следует печатать отчет даже в том случае, если он не содержит данных. |
property PrinterSettings : TQuickRepPrinterSettings; | Определяет параметры принтера. |
property ReportTitle : String; | Имя отчета (не его заглавие!). Используется для идентификации отчета в задании на сетевую печать, возвращается компонентом TQRSysData при Data=ReportTitle и может использоваться для выбора одного из нескольких доступных отчетов. |
property ShowProgress : Boolean; | Позволяет/запрещает показывать индикатор процесса печати отчета. |
property SnapToGrid : Boolean; | Если содержит True, размещаемые в отчете компоненты привязываются к сетке отчета. |
property TQRUnits=(Inches, MM, Pixels, Native, Characters); property Units : TQRUnits; | Определяет единицы измерения расстояний в отчете:
|
property Zoom : Integer; | Определяет масштаб отображения отчета (в процентах от его размеров на листе бумаги) на этапе разработки. Может иметь значение в диапазоне 1 - 300. |
Много свойств отчета можно установить на этапе конструирования с помощью редактора свойств (рис.3) - вызывать контекстное меню компоненту TQuickRep и выбрать Report Settings.
Рисунок 3. Окно установки параметров отчета
Группа элементов управления Paper size позволяет задать характеристики страницы : ее формат (А4 210 х 270 mm), ширину (Width), длину (Length) и ориентацию - книжную (Portrait) или альбомную (Landscape).
Группа элементов управления Margin позволяет установить поля отчета : сверху (Top), снизу (Bottom), слева (Left), справа (Right), а также количество колонок (Number columns) и расстояние между ними (Column Space).
С помощью элементов группы Other можно задать шрифт (Font), его размер (Size) и единицы измерения длины, которые используются (Units).
Группа элементов управления Page frame определяет свойства рамки : наличие линии сверху (Top), снизу (Bottom), слева (Left), справа (Right), цвет линий (Color) и их толщину (Width).
Группа элементов управления Bands определяет наличие полос заглавий и нижнее поле, а также высоту соответствующей полосы.
Флажки Print first page header и Print last page footer управляют соответственно печатью верхнего колонтитула на первой страницы отчета и нижнего колонтитула на его последней странице.
Методы компоненту TQuickRep представлены в таблице 3.
Таблица 3. Методы компоненту TQuickRep
Метод | Описание |
procedure NewColumn; | Реализует выведение информации в следующей колонке отчета, а если определена единственная колонка - в его следующей странице. |
procedure NewPage; | Выполняет переход на новую страницу. Может использоваться в обработчиках событий компонентов отчета BeforePrint или AfterPrint и не может - в обработчиках событий OnPrint, OnStartPage и OnEndPage. |
procedure Prepare; | Готовит отчет для выведения в файл. |
procedure Preview; | Выводит отчет в окно предыдущего пересмотра. |
procedure Print; | Печатает отчет на принтере. |
procedure PrintBackground; | Инициирует печать отчета в фоновом режиме (в отдельном потоке команд). По завершению печати вызывается обработчик события OnAfterPrint. |
procedurePrinterSetup; | Обеспечивает установки параметров принтера. |
События компоненту TQuickRep представлены в таблице 4.
Таблица 4. События компоненту TQuickRep
Событие | Описание |
property AfterPreview : TQRAfterPreviewEvent; | Наступает после закрытия окна предыдущего пересмотра отчета. |
property AfterPrint : TQRAfterPrintEvent; | Наступает после выведения отчета на печать. |
property BeforePrint : TQRBeforePrintEvent; | Наступает в момент генерации отчета, к выдаче окна предыдущего пересмотра отчета и к выведению отчета на печать. |
property OnEndPage : procedure(Sender: TObject); | Наступает в момент подготовки к генерации последней страницы отчета. |
property OnNeedData : procedure(Sender: TObject; var moreData: boolean); | Используется при создании отчета по данным, которые берутся не из НД, а из текстового файла, списку строк, массива и тому подобное. В параметре MoreData обработчик должен повернуть True, если источник данных еще не исчерпанно. |
property OnPreview : procedure(Sender: TObject); | Используется для скрепления с отчетом нестандартного окна пересмотра. |
property OnStartPage : procedure(Sender: TObject); | Наступает в момент подготовки к генерации первой страницы отчета. |
Компонент TQRBand
Компоненты TQRBand являются основными составными частями отчета и используются для размещения в них компонентов, которые отображают, такие как TQRLabel, TQRDBText, TQRImage, TQRDBImage и тому подобное
Свойства компоненту TQRBand представлены в таблице 5.
Таблица 5. Свойства компоненту TQRBand
Свойство | Описание |
property AlignToBottom : Boolean; | Если имеет значение True, полоса печатается непосредственно над нижним колонтитулом вместо обычного расположения справа и снизу от предыдущей полосы. |
Type TQRBandType=(rbTitle, rbPageHeader, rbDetail, rbPageFooter, rbSummare, rbGroupHeader, rbGroopFooter, rbSubDetail, rbColumnHeader); property BandType : TQRBandType; | Место расположения компоненту в отчете и его поведение определяются свойствами. |
property Enabled : Boolean; | Указывает, печатается в отчете (True) или нет (False) информация, которая содержится в компоненте TQRBand. |
property ForceNewColumn : Boolean; | Если содержит True, полоса печатается в следующей колонке. |
property ForceNewPage : Boolean; | Указывает, должна ли информация в составе TQRBand всегда печататься из новой страницы (True) или нет (False). |
property HasChild : Boolean; | Если содержит True, полоса имеет дочернюю полосу TChildBand. Установка значения True в это свойство автоматически создает в отчете дочернюю полосу. |
Параметры свойства BandType :
rbTitle - определяет компонент заглавия отчета.
rbPageHeader - определяет компонент заглавия страницы.
rbDetail - компонент детальной информации.
rbPageFooter - компонент подвала страницы. Выводится для каждой страницы отчета после всех других данных на странице.
rbSummary - компонент подвала отчета.
rbGroupHeader - компонент заглавия группы.
rbGroupFooter - компонент нижнего колонтитула группы.
rbSubDetail - компонент для выдачи детальной информации из подлежащего набора данных, при выведении в отчете информации из двух или более наборов данных, связанных в дополнении с помощью механизма Master, - Detail.
rbColumnHeader - компонент для размещения заглавий столбцов.
Последующие два события наступают в соответствии с и после печати полосы :
propety AfterPrint : TQRAfterPrintEvent;
propety BeforePrint : TQRBeforePrintEvent;
Дата добавления: 2016-02-27; просмотров: 921;