3.5.5 Элемент управления Grid (Сетка) в отчетах BIRT
Элемент управления Grid (Сетка) начинающие разработчики отчетов BIRT часто путают с Table. Действительно, с виду они очень похожи: и Grid выглядит как таблица, и Table выглядит как таблица. Но между ними есть принципиальная разница:
-
Table — привязанный к данным (data bound) элемент управления. Если к таблице не привязан ни один Data Set, то отчет с такой таблицей просто не запустится на выполнение: возникнет ошибка. Соответственно, во всех вложенных в Table элементах управления типа Data, Dynamic Text и т. п. можно сразу использовать данные и Data Set. Кроме того, в Table есть detail row (строка подробностей), которая будет выводиться столько раз, сколько строк возвращает привязанный к таблице Data Set;
- Grid — не привязанный к данным элемент управления (по крайней мере не привязанный изначально). Он обычно используется для целей верстки, поскольку на HTML-странице отчета в Web-броузере он превращается в таблицу HTML. В принципе, Grid можно привязать к Data Set при помощи вкладки Binding, точно так же, как и таблицу. После этого данный Data Set будет доступен в элементах управления Data и Dynamic Text внутри Grid. Но поскольку строки Detail Row в элементе управления Grid нет, то перетащенное внутрь Grid поле из Data Set вернет только первое значение (см. рис. 3.5.5.1 и рис. 3.5.5.2), а не значения из всех строк Data Set, как в Table.
Рис. 3.5.5.1 К элементу управления Grid в отчете привязан Data Set и внутрь Grid помещено поле из Data Set
Рис. 3.5.5.2 …а результат все равно не такой, как в Table
Подводя итоги, скажем, что элемент управления Grid (Сетка) в отчетах BIRT используется как средство верстки, когда в итоговой Web-странице отчета вам нужно поместить контент в таблицу HTML Для вывода данных в формате «ленточного отчета» лучше использовать элемент управления Table.