Объект QuickRep
Отчет – это печатный документ, содержащий данные из таблиц или текстовых файлов.
Компоненты, предназначенные для создания отчетов, находятся на странице QReport Палитры компонентов. Большинство из них визуальные и похожи на компоненты страниц Standard, Additional, Data Controls.
Главным элементом отчета является компонент-отчет QuickRep – это основа, на которой размещаются другие компоненты. Он обычно размещается на отдельной форме, предназначенной для создания отчета.. При помещении на форму компонент QuickRep имеет вид страницы формата А4, масштаб которой можно изменить (свойство Zoom типа integer (по умолчанию – 100 %))
Помимо компонентаQuickRepна форме размещают тот НД Table, для которого создается отчет.
Компонент QuickRepсвязывается с НД Table, для которого создается отчет, с помощью свойства DataSet, в котором выбирается имя НД, для которого создается отчет (например, Table1). При печати отчета в процессе выполнения приложения НД должен быть открыт. Если перед печатью отчета пользователь произвел фильтрацию или сортировку записей, то в распечатанный отчет попадут отфильтрованные или отсортированные записи НД.
Отчет состоит из отдельных полос – составных частей отчета, которые определяют содержание и вид созданного документа. Полоса – это составной элемент отчета. Каждая полоса размещается на своем месте и предназначена для отображения соответствующих компонентов отчета и вывода данных.
При построении отчета на форму помещается компонент QuickRepи связывается с НД Table с помощью свойства DataSet. Потом компоненты QRBand (полосы) в соответствующем порядке. Свойство BandType определяет тип вставляемой полосы:
§ rbTitle – заголовок отчета (печатается вначале отчета под верхним колонтитулом);
§ rbPageHeader – верхний колонтитул, который печатается сверху на каждой странице;
§ rbDetail – данные записей НД; выводятся для каждой записи НД;
§ rbPageFooter – нижний колонтитул; печатается внизу на каждой странице;
§ rbSummary – итог отчета; выводится в конце отчета под всеми другими сведениями отчета, но выше нижнего колонтитула;
§ rbSubDetail – данные подчиненного НД для отчета “мастер-детальный”;
§ rbColumnHeader – заголовки столбцов; печатаются один раз на каждой странице над данными.
При создании в отчет нужно включать не более одной полосы каждого вида, так как при печати отчета «лишние» полосы одного и того же вида учитываться не будут.
Каждая полоса может иметь рамку, которой управляет свойство Frame.
Страница отчета тоже может иметь рамку, параметры которой задает свойство Frame компонента QuickRep. Рамку можно установить и с помощью диалогового окна изменения параметров страницы отчета (двойной щелчок по компоненту QuickRep или контекстное меню компонента QuickRep→Report Settings).
Для печати отчета предназначен метод Print, сразу после вызова которого отчет подготавливается к печати и направляется на установленный в системе принтер. Метод Print может вызываться, например, при нажатии кнопки «Печать», расположенной на форме, с которой пользователь работает. Для этой кнопки можно написать следующий обработчик события:
procedure TForm1.BitBtn1Click(Sender: TObject);
Begin
QuickRep1.Print;
end;
Если компонент-отчет QuickRep связан с НД, записи которого находятся в сетке DBGrid формы, то порядок записей отчета соответствует порядку записей, видимых пользователем на форме. После фильтрации или сортировки при печати отчета учитывается новый состав и порядок следования записей.
Для предварительного просмотра отчета перед печатью служит метод Preview компонента QuickRep, вызывающий окно просмотра. В этом окне можно:
§ просмотреть отчет в различных масштабах;
§ сохранить отчет в файле;
§ загрузить предварительно сохраненный отчет;
§ направить отчет на печать.
Пример
Table1.Preview; – команда для кнопки «Предварительный просмотр».
На этапе разработки приложения также можно просмотреть отчет, выполнив команду Preview контекстного меню компонента QuickRep. Внешний вид отчета будет таким же, как при печати или в окне просмотра при выполнении приложения, за исключением отсутствия значений вычисляемых полей.
Дата добавления: 2015-05-16; просмотров: 841;