Функция ограничение количества выводимых строк часто вызывает затруднение у пользователей FastReport.Net, несмотря на то, что она является достаточно простой. В данной статье будет представлен вариант вывода максимального количества записей на странице с помощью скрипта отчета. Необходимо отметить, что скрипт является достаточно простым в работе при наличии базовых знаний программирования.
Итак, для наглядности, рассмотрим демонстрационный отчет:
Список будет формироваться при помощи системной переменной [#Row].
В свойствах бэнда «Данные» устанавливаем значение «RowCount» в 25. Теперь данный список будет состоять из 25 строк.
Рассмотрим нижеприведенный отчет:
Поставленная задача - выводить по 5 строк на страницу.
Для бэнда «Данные» задаем событие «BeforePrint».
Теперь, перейдем к редактору скрипта отчета.
Пишем следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class ReportScript { int counter = 0; private void Data1_BeforePrint(object sender, EventArgs e) { if (counter >= 5) { Engine.StartNewPage(); counter = 0; } counter++; } } |
Обратите внимание, что переменная «counter» объявлена глобально. Как видно на примере перед каждым отображением данных проверяется счетчик «counter». По достижении 5 строк, создается новая страница отчета, а счетчик обнуляется. Таким образом, можно получить 5 страниц со списками из 5 строк.
Так как на странице будет список, состоящий всего из 5 строк, устанавливаем автоматическую высоту страницы отчета:
Свойство «UnlimitedHeight» позволит уменьшить высоту страницы в нашем случае.
Теперь запустим отчет:
Скрипт отчета является действительно гибким инструментом. Добавив всего 5 строчек кода, был достигнут желаемый результат.