if rpReport.ProjMan.ActiveReport.SecurityControl.IsValidUser(

edUserName.Text, edPassword.Text)

then rpReport.Execute else ShowMessage('Доступ запрещен');
rpReport.Close;

Здесь объект ActiveReport (класс TRaveReport) представляет текущий отчет.

Типы отчетов

Сейчас мы займемся вопросами разработки собственно отчетов. Схема использования элементов оформления, работающих с объектами доступа к данным, стандартна для любых типов отчетов. Поэтому сначала мы рассмотрим общую методику на примере простого отчета, а затем перейдем к более сложным отчетам.

Для всех рассматриваемых типов отчетов создано демонстрационное приложение DemoReports.

Простой табличный отчет

Для создания отчетов, использующих данные из источников, предоставленных объектами соединений и просмотров, используются элементы оформления со страницы Report Палитры инструментов Rave Reports.

Основой, без которой нельзя использовать полосы (элементы Band и DataBand), является элемент Region. Он ограничивает часть страницы, на которой будут печататься данные.

Главную роль в отчетах для приложений баз данных играют полосы. Это невизуальные элементы оформления, моделирующие горизонтальную область или строку отчета. На странице Report доступны два таких элемента. Обычная полоса Band создает горизонтальную область, которая не изменяет свое абсолютное или относительное положение на странице. Например, созданная на основе элемента Band полоса TitleBand всегда располагается в начале первой страницы отчета и оформляет заголовок таблицы (рис. 26.5). Полоса FooterBand будет напечатана сразу после основной таблицы - но ее конкретное положение на странице зависит от размера набора данных.

Программирование в Delphi 7

Рис. 26.5. Страница простого табличного отчета в визуальной среде Rave Reports

Элемент оформления DataBand обеспечивает размножение строк отчета в соответствии с числом строк набора данных. Для этого полосу данных MainDataView необходимо связать с просмотром при помощи свойства DataView. В нашем примере это прямой просмотр CountryView, связанный С КОМПОНенТОМ соединения TRvDataSetConnection В ПрИЛОЖеНИИ.

На полосе данных MainDataView необходимо разместить элементы оформления DataText. Каждый из этих элементов связывается с объектом просмотра и полем данных такого просмотра. Для этого используются свойства Dataview и DataField соответственно. Таким образом, каждый элемент оформления DataText размножается вместе с полосой данных и формирует в отчете колонку значений поля набора данных.

Расположив на полосах горизонтальные и вертикальные линии, можно легко оформить данные в табличном виде.

Отчет "один-ко-многим"

При помощи средств Rave Reports можно создавать и более сложные отчеты. В приложениях баз данных очень часто используются отношения "один-ко-многим" между наборами данных.

Давайте посмотрим, как создать отчет "один-ко-многим". Само собой, он должен быть связан как минимум с двумя просмотрами, которые находятся в отношении "один-ко-многим".

........

Для компонентов наборов данных в Delphi не нужно создавать отношение "один-ко-многим" - речь идет о том, что их поля позволяют такое отношение создать теоретически.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Декабрь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс