Разработка баз данных в Delphi. 11 Уроков

       

Компонент 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;

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