Простой отчет в визуальной среде Rave Reports. Нумерация страниц отчета.
При описании первого этапа наша задача – описать возможности проекта RAV, исследовать его структуру и составные части, которые можно использовать в приложении Delphi. Собственно элементы оформления просты в использовании и мы акцентируем внимание лишь на нескольких элементах, требующих небольших пояснений.
Для начала создадим в визуальной среде Rave Reports новый проект (команда File › New главного меню). Обратите внимание, что по умолчанию вместе с проектом создается первый отчет Report1 с одной страницей Page1. Его мы и используем, переименовав в rptxp. Проекту присвоим имя simpleDemo.
Нумерация страниц отчета
В первую очередь создадим заголовок страницы и включим механизм нумерации страниц. Для этого перенесем на страницу элемент Section со страницы Standard Палитры инструментов и поместим его в верхней части страницы отчета. Эта секция будет объединять элементы оформления заголовка.
Поместим в секции элемент DataText – нам необходимо его свойство DataFieid. Редактор свойства Data Text Editor (рис. 25.1) позволяет настраивать свойство так, чтобы элемент мог отображать разнообразные данные. Сейчас нас интересуют номера страниц отчета.
Из списка Report Variables, который содержит глобальные переменные отчета, необходимо выбрать переменную RelativePage. Затем нужно щелкнуть на кнопке Insert Report Var и переменная Report.RelativePage появится в поле Data Text в нижней части диалога. Эта переменная при печати отчета будет содержать порядковый номер текущей страницы.
Рис. 25.1. Редактор свойства DataField элемента DataText
Аналогичным образом добавим переменную TotalPages, которая возвращает общее число страниц отчета. Затем вручную отредактируем текст в поле Data Text:
'Страница ' + Report.RelativePage + ' из ' + Report.TotaiPages
Шаблон номера страницы готов. Но для того, чтобы механизм нумерации заработал, необходимо перенести на страницу невизуальный элемент pageNuminit. Он будет работать автоматически. Единственное, что нужно сделать, – это настроить свойство initvalue, в котором задается номер начальной страницы.
Примечание
Обратите внимание, что элемент PageNuminit должен быть только один и располагаться на первой странице, которая должна содержать свой номер. Иначе, на каждой странице, на которой есть такие элементы, нумерация начнется сначала.