Когда говорят «отчет к базе данных», первое, что сразу представляется — это длинный список в виде таблицы. Табличное представление действительно используется в большом количестве отчетов BIRT, и логичнее всего для него использовать элемент управления Table.

Table (таблица) в отчетах BIRT — это элемент управления, предназначенный для табличного представления данных и с обязательной привязкой к набору данных (это — принципиальное отличие Table от похожего на него элемента управления Grid, который к набору данных изначально не привязан, и поля внутри Grid поэтому обычно приходится привязывать к данным отдельно).

При добавлении элемента управления Table в отчет (например, при помощи команды меню Insert | Table) сразу открывается окно мастера создания таблицы (см. рис. 3.5.2.1).

Рис. 3.5.2.1 Мастер создания элемента управления Table (Таблица) в отчетах BIRT

Для Table обязательна привязка к набору данных. Если в вашем отчете есть элемент управления Table без привязки данных, то при запуске такого отчета на выполнение будет возникать ошибка. Поэтому выбираем в верхнем списке нужный Data Set (в нашем случае — это созданный в предыдущем разделе HREmpDept). Мастер создания Table сразу принимает другой вид (см. рис. 3.5.2.2)

Рис. 3.5.2.2 Таблица в BIRT с привязанным Data Set

В этом окне нужно выбрать те столбцы из источника, которые будут сразу показаны в этой таблицы (иначе отчет после запуска будет пустым). Еще здесь есть флажок Auto Summarize On (Включить автоматическое суммирование). Если его установить, то в созданной таблице не будет самих данных (раздела Detail) — только заголовок и итоги.

После того, как вы выбрали нужные столбцы для таблицы и нажали OK, можно для проверки запустить отчет на выполнение при помощи меню Run | View Report | in Web Viewer. В моем случае отчет с элементом управления Table выглядит так, как показано на рис. 3.5.2.3 (отчет показан частично).

Рис. 3.5.2.3 Отчет BIRT с элементом управления Report

В дизайнере же отчета он выглядит так (см. рис. 3.5.2.4):

Рис. 3.5.2.4 Таблица с данными из Data Set в отчете BIRT

Посмотрим на созданную таблицу внимательнее.

Таблица — это составной элемент управления. Она состоит из столбцов (Row), строк (Columns), ячеек (Cell), помещенных внутри ячеек элементов данных (Data) и надписей (Label): это только то, что находится внутрь Table по умолчанию, а можно разместить и другие элементы. Для самой таблицы и всех ее встроенных элементов предусмотрены свойства, которые можно настроить при помощи редактора Property Editor в нижней части экрана (см. рис. 3.5.2.5).

Рис. 3.5.2.5 Настройка свойств таблицы и ее элементов при помощи Property Editor

Иногда бывает так, что до определенного элемента добраться не так просто. Например, вам нужно настроить свойства ячейки (Cell), а в ней лежит надпись — Label. Быстро и эффективно найти нужный элемент таблицы можно при помощи еще одного элемента интерфейса дизайнера отчетов Birt Outline (см. рис. 3.5.2.6). Там можно точно выцелить нужный элемент, чтобы настроить его свойства, а в особо сложных случаях — и разобраться в нагромождении вложенных друг в друга элементов.

Рис. 3.5.2.6 Применяем Outline, чтобы найти нужный элемент в таблице

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

Любую секцию (строку) в таблице можно размножить в нескольких экземплярах. Например, можно щелкнуть правой кнопкой по строке Details и в контекстном меню выбрать команду Insert | Row | Below, и у вас появится вторая секция Details (см. рис.  3.5.2.7) . Этот не совсем очевидный прием нужен для того, чтобы показывать разные секции Details в зависимости от данных. Объясним на примере.

Рис. 3.5.2.7 Добавление новой секции Details в таблицу

Предположим, что у нас есть две категории заказчиков: юридические и физические лица. Для юридических лиц нам нужно выводить в отчете информацию о наименовании и организационно-правовой форме, а для физических лиц — фамилию-имя-отчество: в общем, для разных типов заказчиков информация в одном и том же отчете должна выводиться разная. В этой ситуации делаем две секции Details: первую для юридических лиц, вторую для физических лиц. Для юридического лица выводим первую, скрываем вторую (при помощи свойства Visible для объекта Row), для физического лица — наоборот.

Для таблиц (как и для некоторых других элементов управления) можно настроить группировку, сортировку, фильтрацию и условное форматирование (highlights, в терминологии BIRT). Все эти действия будут рассмотрены в соответствующих разделах. Пока отметим только, что все эти настройки производятся через соответствующие вкладки Property Editor (см. рис. 3.5.2.8).

Рис. 3.5.2.8 Вкладки Property Editor для настройки дополнительных возможностей таблиц

На вкладке Maps (Карты) Property Editor можно настроить автозамену значений, которые приходят из источника данных. Например, если в столбце Department_Name у вас встречается значение «IT», то можно при помощи этого средства автоматически заменять его на «Отдел Информационных Технологий». Функционал этого средства очень похож на выражение CASE в SQL-запросах. Карты очень удобно использовать, когда отчет BIRT создан на основе источника данных, к которому не отправишь SQL-запрос (например, данные берутся из текстового файла или XML).

На вкладке Event Handlers свойств таблицы можно выбрать класс обработчика событий, и, таким образом, реагировать на различные события, связанные с таблицей, расширяя функционал объекта Table.

Перейти к следующему разделу