Основой отчета, использующего просмотры баз данных, является элемент
Region. Он создает в отчете область, предназначенную для размещения любых других элементов и определяющую часть страницы отчета, отведенную под отображение данных. Он обладает одним интересным свойством
Columns, которое задает число колонок, в которых будет печататься отчет.
При создании отчета, использующего базу данных, этот элемент переносится на страницу в первую очередь. Затем приходит очередь элементов
Band и DataBand.
Элемент Band создает полосу, на которой можно располагать стандартные элементы оформления. Он служит для оформления заголовков, сносок, врезок и других статичных фрагментов оформления отчетов, которые не изменяются при печати просмотра данных.
Элемент DataBand создает полосу, моделирующую строку просмотра данных. На ней располагаются элементы отображения данных, которые будут рассмотрены ниже. При печати отчета для каждой строки печатается новый экземпляр полосы элемента
DataBand со всеми расположенными на ней элементами оформления. Таким образом и получается отчет, отображающий строка за строкой весь просмотр данных.
Важнейшее свойство Bandstyle определяет роль и поведение полосы в отчете. С ним связано диалоговое окно Band Style Editor (рис. 24.6), которое отображает взаимосвязь полос в области
Region отчета и позволяет задать поведение текущей полосы.
В левой части диалога отображается список всех полос отчета с их взаимосвязями (отношениями "один-ко-многим", группировкой, вложенностью
и т. д.), текущая полоса выделяется жирным шрифтом с подчеркиванием. Имя каждой полосы отображается трижды. И это не ошибка разработчиков, а желание показать, что каждая полоса размножается для печати записей просмотра данных.
Рис. 24.6. Редактор полос
отчета BandStyle Editor
Группа флажков Print Location в правой
части диалогового окна определяет назначение полосы. А группа Print Occurrence
задает, в каком месте отчета появляется полоса:
Body
Header (В) —
заголовок отчета, печатается в начале отчета;
Group
Header (G) — заголовок группы, печатается в начале группы записей, объединенных
в просмотре данных выражением GROUP BY;
Row
Header (R) — заголовок записи, печатается в начале каждой записи просмотра
данных;
Detail
(D) — печатается в начале подчиненного набора записей, входящего в отношение
"один-ко-многим";
Row
Footer (r) — окончание строки, печатается в конце каждой записи просмотра
данных;
Group
Footer (g) — окончание группы, печатается в конце группы записей, объединенных
в просмотре данных выражением GROUP BY;
Body
Footer (r) — окончание отчета, печатается в конце отчета;
First
(1) — печатается один раз в начале отчета (титул отчета);
NewPage (P) — печатается в начале каждой страницы отчета;
NewColumn (С) — печатается в начале каждой колонки отчета.
Примечание
Для каждого из перечисленных выше типов в
скобках указан символ, который используется для обозначения типа полосы на
странице отчета в визуальной среде Rave Reports (рис. 24.7). Таким образом,
по совокупности символов разработчик может оценить роль той или иной полосы
в отчете, не обращаясь к редактору.
Рис. 24.7. Элементы
Band, DataBand и Region на странице
отчета
Другие свойства полос и способы создания простых
и сложных отчетов рассматриваются в гл. 26.
Знаете ли Вы, что "гравитационное линзирование" якобы наблюдаемое вблизи далеких галактик (но не в масштабе звезд, где оно должно быть по формулам ОТО!), на самом деле является термическим линзированием, связанным с изменениями плотности эфира от нагрева мириадами звезд. Подробнее читайте в FAQ по эфирной физике.