Печать этикеток
В отличие от табличных отчетов, данные в отчетах типа "этикетка" располагаются друг под другом. Рассмотрим пример подобного отчета, который выводит данные о рыбах (см. предыдущий пример) в виде этикеток. Отчет имеет следующую структуру:
Если запустить отчет на выполнение, получим следующее:
Как видно, остается много неиспользованного места в правой части листа. Чтобы заполнить лист целиком, можно задать в настройках страницы отчета количество колонок, в которых будут выводиться данные. Для этого сделайте двойной щелчок на пустом месте страницы, или вызовите пункт меню "Файл/Настройки страницы…".
Здесь можно задать количество колонок, ширину и позицию каждой колонки. В нашем случае достаточно указать количество = 2, остальные параметры FastReport подберет сам. Границы колонок показываются в дизайнере тонкой вертикальной линией:
При этом печать отчета будет происходить следующим образом:
- FastReport будет выводить бэнд "Данные 1 уровня" до тех пор, пока на странице не закончится свободное место.
- После этого сформируется не новая страница, как в обычном отчете, а новая колонка на этой же странице, и вывод бэндов продолжится сверху. Но теперь все объекты будут смещены вправо на ширину колонки.
- Так будет продолжаться до тех пор, пока не будет выведено заданное количество колонок. После этого FastReport сформирует новую страницу и продолжит выводить данные с первой колонки.
Наш отчет с двумя колонками будет выглядеть следующим образом:
Есть еще один способ задать количество колонок – это свойство Columns
у всех дата-бэндов. Оно позволяет задать количество колонок для отдельного бэнда, а не для всей страницы, как в предыдущем примере. При этом данные будут выводиться не "сверху вниз, потом слева направо", а "слева направо, потом сверху вниз".
В нашем примере отключим колонки у страницы (установим их количество = 1) и укажем 2 в свойстве Columns
у бэнда. FastReport покажет штриховыми линиями границы колонок. Изменяя свойство ColumnWidth
(ширина колонки), добьемся нужных размеров колонок:
Построенный таким образом отчет будет отличаться от предыдущего только тем, что данные будут выведены в порядке "слева направо, потом сверху вниз".