Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab2_5_ПИ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

2.6. Размеры секций

Секции получают свой горизонтальный размер автоматически. Для одно-колоночного отчета – это размер бумаги минус отступы. Единственный тип изменить размер секции – это изменить параметры отступов.

Ширина некоторых секций зависит от свойства Page.Columns компоненты TQuickRep. Если вы создаете многоколоночный отчет (например: телефонный справочник), то ширина заголовка колонки, секции данных, заголовка группы и подвал группы настраиваются в зависимости от ширины отдельной колонки.

Вы можете изменять вертикальный размер любой секции. Изменяется стандартным путем с помощью мышки. Если требуется более точная установка размера, то можно это сделать с помощью Инспектора Объектов свойство TQRBand.Size, размер устанавливается в текущих единицах измерения.

В случае изменения размера с помощью Инспектора Объектов – обновление на экране не происходит, только в runtime, то свойство есть ведет себя как read-only.

2.7. Порядок печати секций

(Page header)

Заголовок страницы (повторяется на каждой странице)

(Title)

Заголовок (на первой странице)

(Column header)

Заголовок колонки (повторяется для всех колонок)

(Detail)

Секция данных (повторяется для всех записей)

(Summary)

Итоги (на последней странице)

(Page footer)

Подвал (повторяется на каждой странице)

Секции появляются в компоненте TQuickRep в соответствии с порядком печати. Тем не менее важно понимать почему это сделано так. Обычно секции печатаются в следующем порядке:

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

2.8. Выключение секций

Иногда требуется отключить печать секции, в зависимости от некоторых условий, или во время проектирования (design time) или во время исполнения (runtime). Во время проектирования установите свойство TQRBand.Enabled в значение False. Данное свойство также может быть установлено во время исполнения, до генерации отчета или в любом обработчике во время генерации отчета.

Во время генерации отчета вы можете временно запретить печать секции в обработчике события BeforePrint. Данный обработчик получает var параметр PrintBand, который требуется установить в значение False, если не требуется печатать секцию – это действует только на одно событие, то есть когда в следующий раз вырабатывается данное событие, требуется повторная установка параметра. Данная особенность может использоваться для простой фильтрации данных:

Procedure TrepCusList.RepDetailBeforePrint(

Sender:TQRCustomBand;

var PrintBand: Boolean);

begin

if CustTableTotalSales > 3000000 then

PrintBand := True

else

PrintBand := False;

end;

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

procedure TrepCusList.RepDetailBeforePrint(

Sender: TQRCustomBand;

var PrintBand: Boolean);

begin

PrintBand := CustTableTotalSales > 3000000;

end;

Если вы выключаете печать подвала (page footer), то остается пустое пространство внизу страницы вместо заполнения данного пространства данными из секции Detail. Это случается, потому что QuickReport не может проверять размер подвала все время, что резко снизило бы быстродействие системы. Если вы запрещаете печать подвала, то вы должны также изменить и его размер, вызвав метод QuickRep.ResetPageFooterSize, что бы QuickReport мог правильно рассчитать размер страницы для данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]