Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






(Page header) Заголовок страницы (повторяется на каждой странице)
(Title) Заголовок (на первой странице)
(Column header) Заголовок колонки (повторяется для всех колонок)
(Detail) Секция данных (повторяется для всех записей)
(Summary) Итоги (на последней странице)
(Page footer) Подвал (повторяется на каждой странице)

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

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

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

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

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

Procedure TrepCusList.Rep Detail BeforePrint(

Sender: TQRCustomBand;

var PrintBand: Boolean);

begin

if CustTableTotalSales > 3000000 then

PrintBand: = True

else

PrintBand: = False;

end;

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

procedure TrepCusList.Rep Detail BeforePrint(

Sender: TQRCustomBand;

var PrintBand: Boolean);

begin

PrintBand: = CustTableTotalSales > 3000000;

end;

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


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал