Не печатать на последней странице при обпределеных условиях

Обсуждение Stimulsoft Reports.NET
Ответить
max314
Сообщения: 6
Зарегистрирован: 11 мар 2007, 06:26

Не печатать на последней странице при обпределеных условиях

Сообщение max314 »

Добрый день!

Есть поле отчета необходимость печати которого описываться следующими правилами:
Если страница не последняя в отчете то поле печатаеться всегда
Если страница последняя то:
- печатать поле если детаил банд полностью заполнен
- не печатаь поле если детаил банд не полностью заполнен

Предположим детаил банд на одной странице вмещает 5 строк
Если записей 14 то на третей странице поле не печатать, а если записей 15, то поле необходимо напечатать.

Какой наилучший вариант решения этой задачи.
Свойство Print On = Except Last Page не очень подходит для решения проблемы.
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Не печатать на последней странице при обпределеных условиях

Сообщение Vital »

StimulReport строит отчет в один проход поэтому количество страниц известно только после построения отчета. Есть два варианта обработать отчет в зависимости от количества страниц - обработать готовый отчет (этот вариант Вам не подходит), и сделать два прохода. По умолчанию StimulReport сам делать два прохода не умеет, но это можно легко реализовать. В событии BeginRender отчета пишите следующий код:

Код: Выделить всё

this.Render(false);
this.MyPagesCount = this.RenderedPages.Count;
После этого можно использовать эту переменную при построении отчета.

Спасибо.
Ответить