Печать данных в виде таблицы
Часто бывает необходимо отобразить отчет в виде таблицы с обрамлением. Один из примеров такого отчета – это прайс-лист. Чтобы построить такой отчет в FastReport, надо всего лишь включить обрамление у объектов, лежащих на бэнде "Данные". Рассмотрим несколько вариантов обрамления на примере тестового отчета.
Создадим отчет следующего вида:
Разместим объекты на бэнде встык, а также уменьшим высоту бэнда до минимального размера.
Первый и самый простой тип таблицы – с полным обрамлением. Для этого надо у каждого объекта включить все линии рамки:
Следующий тип обрамления – только горизонтальные или только вертикальные линии – делается аналогично, у объектов включается горизонтальное или вертикальное обрамление.
Наконец, чтобы сделать только наружное обрамление таблицы, надо слегка видоизменить отчет:
Как видно, мы добавили два объекта "Текст" и включили линии рамки у крайних объектов на дата-бэнде. В результате отчет будет выглядеть следующим образом:
Все вышеприведенные примеры содержали бэнды, которые имели фиксированный размер. Но как вывести таблицу, если бэнд растягиваемый? Покажем это на примере.
Добавим в наш отчет новое поле – многострочный текст из Bio.Notes. Как мы уже знаем, надо включить свойство "Растягивание" у этого объекта и бэнда, на котором он лежит. В этом случае высота бэнда будет подбираться в зависимости от количества текста в объекте "Текст". Мы получим отчет следующего вида:
Немного не то, что нам нужно – хотелось бы, чтобы рамки соседних объектов тоже растягивались. FastReport позволяет легко решить эту проблему.
Для построения подобных отчетов достаточно включить у всех объектов, которые должны быть растянуты, свойство "Растягивание вниз" (или StretchMode
= smMaxHeight в инспекторе объектов). При этом ядро FastReport сначала считает максимальную высоту бэнда, затем "дотягивает" объекты с включенной опцией до нижнего края бэнда. Т.к. вместе с объектом растягивается и его рамка, в результате вид отчета меняется: