Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_Generator_otchetov_lektsia.doc
Скачиваний:
8
Добавлен:
25.08.2019
Размер:
361.47 Кб
Скачать

4. Компонент tqrBand

Компонент инкапсулирует основные свойства стандартной полосы отчета и предназначен для создания структуры отчета. В нем можно размещать другие компоненты, определяющие внешний вид отчета и отображающие информацию. Компонент может играть роль любой полосы, тип которой определяется свойством BandType. При создании отчетов для приложений, работающих с БД, основную роль играет тип Detail.

В зависимости от выбранного типа полосы, изменяется повеление компонента во время печати или просмотра. Ширина компонента не может быть изменена - она определяется только шириной рабочей области отчета. Высота компонента в большинстве типов полос регулируется обычными способами. Исключение составляют типы Detail и SubDetail, высота которых при печати или просмотре зависит от первоначальной высоты и количества записей в связанном наборе данных.

Свойства:

  • property AlignToBottom: boolean; - при значении True полоса печатается в нижней части страницы;

  • property BandType: TQRBandType; - определяет тип полосы;

  • property ChildBand: TQRCustomBand; - возвращает ссылку на объект дочерней полосы. Свойство времени выполнения;

  • property ForceNewColumn: boolean; - при значении True новая колонка начинает печататься от верха полосы;

  • property ForceNewPage: boolean; - при значении True полоса начинает печататься с начала страницы;

  • property Frame: TQRFrame; - задает рамку по краям полосы. Настройка индивидуальна для каждой стороны;

  • property HasChild: boolean; - при значении True создает дочернюю полосу;

  • property LinkBand: TQRCustomBand; - связывает полосу с другой полосой. При этом, если обе полосы не могут быть напечатаны на одной странице, осуществляется переход на следующую страницу;

  • property ParentReport: TcustomQuickRep; - возвращает ссылку на отчет-владелец полосы;

Методы:

  • function AddPrintable (PrintableClass: TQRNewComponentClas5): TQRPrintable; - добавляет к полосе новый компонент;

Методы-обработчики событий:

  • property AfterPrint (Sender: TQRCustomBand; BandPrinted: Boolean); - вызывается после печати или просмотра полосы. Параметр BandPrinted содержит результат выполнения метода-обработчика BeforePrint;

  • property BeforePrint (Sender: TObject; var PrintBand: boolean); - вызывается перед печатью или просмотром полосы. Параметр управляет процессом печати. При значении False печать прерывается.

Основное свойство компонента полосы BandType определяет ее тип и, следовательно, поведение. Это свойство устанавливается вручную только в том случае, когда разработчик переносит новый компонент полосы из Палитры компонентов. При использовании свойства Bands отчета тип полосы устанавливается автоматически. Свойство BandType может принимать следующие значения:

  • rbTitle — заголовок отчета;

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

  • rbDetail —полоса данных;

  • rbPaqeFooter — окончание страницы;

  • rbSummary — итоговая полоса;

  • rbGroupHeader — полоса начала группы;

  • rbGroupFooter — полоса окончания группы;

  • rbSubDetail — подчиненная полоса данных;

  • rbColumnHeader — Заголовок полосы данных;

  • rbOverlay — не применяется;

  • rbChild — дочерняя полоса.

При помощи метода AddPrintable можно изменять оформление полосы во время выполнения приложения. Он переносит в полосу новый компонент, указанный в параметре printabieciass. Оформление можно модифицировать в соответствии с действиями пользователя или при появлении в наборе данных определенной информации. Так как функция AddPrintable возвращает ссылку на экземпляр компонента, то ее можно использовать и для задания параметров элемента.