Подобно рассмотренному выше простому отчету, отчет "один-ко-многим" может содержать полосы Band и DataBand. Причем дополнительные настройки необходимы для обоих типов полос. Число полос DataBand должно соответствовать числу используемых в отчете наборов данных. Полосы Band несут в основном оформительскую нагрузку, и их число зависит от эскиза отчета и вашей фантазии.

В качестве примера создадим отчет для двух таблиц из демонстрационной базы данных Delphi. Таблицы CUSTOMER и ORDERS находятся в отношении "один-ко-многим". Для них в тестовом приложении создано соединение с использованием ADO, и два табличных компонента ADO подключены К компонентам соединения TRvDataSetConnection.

Соответственно полоса данных CustBand будет отображать записи из набора данных tcustomer, а полоса OrctBand - ИЗ набора данных tOrders (рис. 26.6). Их необходимо связать с объектами прямых просмотров, как уже описывалось выше для примера простого отчета.

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

Рис. 26.6. Страница отчета MasterDetail Report в визуальной среде Rave Reports

А теперь займемся созданием отношения "один-ко-многим".

В подчиненной полосе данных ОгсВагк! необходимо задать значения для четырех свойств.

О Свойство ControllerBand должно содержать ссылку на главную полосу

СиБШапё.

D Свойство MasterDataView должно содержать ссылку на главный объект Просмотра Customersview.

О В свойстве MasterKey необходимо задать ключевое поле custNo главного просмотра Customersview, по которому будет установлено отношение.

• В свойстве DetaiiKey необходимо задать ключевое iKuiecustNo подчиненного просмотра Ordersview, по которому будет установлено отношение.

Кроме этого, необходимо настроить атрибуты местоположения полос на странице отчета. Для этого используется Редактор полос отчета Band Style Editor (рис. 26.7), который открывается при щелчке на кнопке свойства BandStyle Инспектора объектов визуальной среды Rave Reports. В нем в группе Print Location для подчиненной полосы ordBand необходимо установить флажок Detail.

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

РИС. 26.7. Редактор полос отчета Band Style Editor для отчета MasterDetailReport

На этом настройка отношения "один-ко-многим" завершена. Однако скажем еще несколько слов об использовании обычных полос при оформлении такого рода отчетов. В нашем примере две дополнительные полосы OrdHeaderBand И OrdFooterBand помогают визуально выделить группы записей подчиненной полосы. Для этого необходимо в их свойстве ControlierBand выбрать полосу данных OrdBand. Затем в редакторе полос отчета в группе Print Location для полосы OrdHeaderBand необходимо выбрать флажок Body Header (В), а для полосы OrdFooterBand - флажок Body Footer (b).

Обратите внимание (см. рис. 26.6 и 26.7), что значки маркировки на полосах страницы и в редакторе полос наглядно демонстрируют текущий статус полосы. Цветом выделены уровни вложения данных и подчиненность полос. Полосы с маркировкой одного цвета печатаются в одном блоке. Квадраты обозначают полосы данных, а треугольники - обычные полосы, при этом направление вершины треугольника обозначает полосу заголовка или окончания. Левая панель редактора полос отчета Band Style Editor (рис. 26.7) наглядно демонстрирует модель отчета, как если бы он был напечатан для трех записей набора данных.


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

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



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

  • Август
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс