Разрыв и удерживание данных |
Top Previous Next |
В этом разделе будут рассмотрены два режима печати бэндов - "Разрыв" и "Удерживание".
В обычном режиме печати бэнда FastReport проверяет, достаточно ли места на текущей странице. Если места не достаточно, бэнд печатается целиком на следующей странице. Если включить свойство "Может разрываться" у бэнда, FastReport будет пытаться напечатать часть содержимого бэнда на имеющемся месте, т.е. "разорвать" его.
Попытка разрыва бэнда может быть успешной, а может, и нет. Это зависит от того, какие объекты расположены на бэнде, и их настроек. Разрываться могут следующие объекты:
Эти объекты также имеют свойство "Может разрываться". Если оно включено, объект может быть разорван. Неразрываемый объект всегда выводится целиком там, где ему хватает места.
На рисунке ниже показан пример того, как может быть разорван бэнд.
Алгоритм разрыва не всегда работает корректно. В случае, когда одновременно разрывается несколько объектов с разным размером шрифта, либо сложным обрамлением, могут возникать артефакты.
Цель разрыва данных - максимально использовать место на листе, чтобы в дальнейшем сэкономить бумагу при печати отчета. У удерживания данных цель противоположная: вывести определенную группу бэндов целиком на одном листе. В этом случае на листах отчета остается довольно много неиспользованного пространства, но зато данные печатаются в виде, более удобном для восприятия.
Механизм удерживания данных (KeepTogether) позволяет удерживать на одной странице (или колонке, если отчет с колонками) определенную группу бэндов. Если при печати удерживаемых данных достигается конец страницы, FastReport переносит все ранее напечатанные данные на новую страницу.
Вы можете использовать удерживание данных в следующих случаях:
Рассмотрим применение удерживания данных.
Для удерживания вместе всех строк данных или группы (заголовок, данные, подвал) включите свойство "Держать вместе" (KeepTogether). Это свойство используется в бэндах "Данные" и "Заголовок группы". На рисунке показано, как печатаются данные без удерживания и с удерживанием:
Для удерживания строки данных главного источника вместе со строками подчиненного источника включите свойство "Держать детали вместе" (KeepDetail) у бэнда "Данные". Это свойство используется в отчете типа master-detail:
Для запрета "висячих" заголовков и подвалов используйте свойство "Не отрывать от данных" (KeepWithData). Это свойство имеется у следующих бэндов:
Оно позволяет не отрывать заголовок/подвал от строки данных. То есть, вместе с заголовком на странице должна помещаться хотя бы одна строка данных:
Для того чтобы держать вместе бэнд и его дочерний бэнд, включите свойство "Держать дочерний бэнд вместе" (KeepChild).
|