Компонент TQRBand
Компоненты TQRBand являются основными частями отчета и используются для размещения на них отображающих компонентов, таких как TQRLabel, TQRDBText, TQRImage и т.п.
Свойства компонента:
Свойство | Назначение |
property AlignToBottom: boolean; | Если имеет значение True полоса печатается непосредственно над подвалом страницы вместо обычного расположения справа/снизу от предыдущей полосы.
|
type TQRBandType = (rbTitle, rbPageHeader, rbDetail, rbPageFooter, rbSummary, rbGroupHeader, rbGroupFooter, rbSubDetail, rbColumnHeader);
property BandType: TQRBandType; |
Указывает назначение полосы: rbTitle – содержит заголовок отчета; rbPageHeader – содержит заголовок страницы (на первой странице печатается под rbTitle); rbDetaul – содержит информацию из НД; выводится всякий раз при переходе на новую запись НД; эта полоса повторяется для всех записей DataSet, начиная с первой записи и заканчивая последней; позицирование на первую запись и последовательный их перебор осуществляется компонентом TQuickRep автоматически; rbPageFooter – содержит подвал страницы; выводится в конце каждой страницы отчета после всех других полос; rbSummary – подвал отчета; выводится на последней странице отчета после всей иной информации, но перед подвалом последней страницы; rbGroupHeader – содержит заголовок группы; применяется при группировках информации в отчете и выводится всякий раз при выводе новой группы; rbGroupFooter – содержит подвал группы; выводится всякий раз при окончании вывода группы, после всех данных группы; rbSubDetail – содержит детальную информацию из подчиненного НД при выводе в отчете информации из двух или более наборов данных, связанных в приложении как главный-подчиненный; этот тип назначается полосе автоматически при размещении на форме компонента TQRSubDetail; rbColumnHeader – содержит заголовки столбцов; размещается на каждой странице отчета после заголовка страницы. |
property Enabled: boolean; | Разрешает/запрещает печать полосы. |
property ForceNewColumn: boolean; | Если содержит True, полоса печатается в следующей колонке. |
property ForceNewPage: boolean; | Если содержит True, полоса печатается на новой странице. |
property HasChild: boolean; | Если содержит True, полоса имеет дочернюю полосу TChildBand. Установка True в это свойство автоматически создает в отчете дочернюю полосу. |
События
property AfterPrint: TQRAfterPrintEvent;
и
property BeforePrint: TQRBeforePrintEvent;
наступают соответственно до и после печати полосы. Метод
function AddPrintable(PrintableClass: TQRNewComponentClass): TQRPrintable;
используется для вставки в полосу отображающего компонента в процессе прогона программы. Он автоматически устанавливает между полосами отношение собственности. Два следующих фрагмента выполняют одинаковую работу:
with DetailBand1.AddPrintable(TQRLabel) do
begin
Size.Left := 20;
Size.Top := 5;
Caption := ‘Новая полоса’;
end;
var
aLabel : TQRLabel;
begin
aLabel := TQRLabel.Create(ReportForm);
aLabel.Parent := DetailBand1;
with aLabel do
begin
Size.Left := 20;
Size.Top := 5;
Caption := ‘Новая полоса’;
end;
end;