Delphi 3 и создание приложений баз данных

       

Компонент TQuickRep


Компонент TQuickRep определяет поведение и характеристики отчета в целом. При размещении этого компонента в форме в ней появляется сетка отчета (рис. 14.1). В дальнейшем в этой сетке располагаются составные части отчета, например, группы TQRBand (рис. 14.2).

Рис 141 Пустая сетка отчета Образуется послеразмещения в форме компонента TQuickRep

Рис 14 2 Сетка отчета с размещенными в ней компонентами отчета

Перечислим важнейшие свойства, методы и события компонента TQuickRep.

Свойство property Bands: TQuickRepBands; состоит из множества логических значений (False/True), которые определяют включение в отчет отдельных видов составляющих:

• HasColumnHeader - заголовка столбцов отчета;

• HasDetail - детальной информации;

• HasPageFooter - подвала страницы;

• HasPageHeader - заголовка страницы;

• HasSummary - подвала отчета;

• Has Title - заголовка отчета.

property DataSet: TDataSet;

указывает на набор данных, на основе которого и создается отчет. Обычно для выдачи отчета используется один НД.

Если нужно вывести связанную информацию из нескольких таблиц БД, ее объединяют в одном НД при помощи оператора SELECT. В этом случае в качестве НД для отчета может использоваться компонент TQuery. Информацию из нескольких связанных НД можно включать в отчет, если эти наборы данных связаны в приложении отношением Master-Detail. В этом случае в качестве НД отчета указывается Master-набор, а ссылка на соответствующие Detail-наборы осуществляется в компонентах TQRSubDetail.



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

property Frame: TQRFrame;

определяет параметры рамки отчета:

• Color - цвет линии рамки;

DrawBottom -

определяет, следует ли выводить линию снизу;

DrawLeft-

определяет, следует ли выводить линию слева;

DrawRight-

определяет, следует ли выводить линию справа;

Draw Top- определяет, следует ли выводить линию сверху;

Style - определяет стиль линии;

Width -

определяет ширину линии в пикселях.

property Page: TQRPage;

определяет параметры страницы.

property PrinterSettings: TQuickRepPrinterSettings;

определяет параметры принтера.

property PrintIfEmpty: Boolean;

указывает (True), что следует печатать отчет даже в том случае, если он не содержит данных.

Методы

procedure NewPage; Выполняет переход на новую страницу. Может использоваться в обработчиках событий компонентов отчета BeforePrini или AfterPrint и не может - в обработчиках событий OnPrint, OnStartPage и OnEndPage.

procedure Preview;

выводит отчет в окно предварительного просмотра (рис. 14.3).

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

выбрать отчет при помощи мыши;

• нажать правую кнопку мыши;

• во всплывающем меню выбрать элемент Preview.

Следует заметить, что при этом не будут видны некоторые данные, например, значения вычисляемых полей наборов данных. Они будут выводиться только во время выполнения.

procedure Print;

печатает отчет на принтере.

procedure PrinterSetup;

обеспечивает установки параметров принтера.

События

property AfterPreview : TQRAfterPreviewEvent;

наступает после закрытия окна предварительного просмотра отчета.

property AfterPrint: TQRAfterPrintEvent;

наступает после вывода отчета на печать.

property BeforePrint: TQRBeforePrintEvent;

наступает в момент генерации отчета, до выдачи окна предварительного просмотра отчета и до вывода отчета на печать.

property OnEndPage : procedure(Sender : TObject);

наступает в момент подготовки к генерации последней страницы отчета.

property OnStartPage : procedure(Sender : TObject);

наступает в момент подготовки к генерации первой страницы отчета.

Содержание раздела