Crystal Reports - Скрыть заголовок страницы, если на странице нет записей - PullRequest
4 голосов
/ 02 ноября 2011

Как скрыть заголовок страницы, если на последней странице нет записи (раздел подробностей). Заголовок страницы должен отображаться на последней странице, если на последней странице есть какие-либо данные, в противном случае скрыть заголовок страницы.

Формала pagenumber = totalpagecount не будет работать, так как всегда будет подавлять заголовок последней страницы.

Ответы [ 3 ]

15 голосов
/ 04 ноября 2011

Поместите эту формулу в поле подавления в разделе сведений:

WhilePrintingRecords;
Global BooleanVar finished;
finished := OnLastRecord

И сделайте эту формулу подавления в заголовке страницы:

Global BooleanVar finished
  • До finished инициализируется заголовок страницы.
  • После того, как вы распечатаете запись детали, она будет установлена ​​на false.
  • Когда вы, наконец, достигнете последней секции детализации, finished будетустановите на true.
  • Если вы случайно дойдете до заголовка другой страницы, finished по-прежнему true, и Crystal будет подавлять заголовок.

Это интересная проблема,Я сталкивался с таким поведением раньше, но никогда не пытался его решить.Я думаю, что вам нужно использовать переменную, потому что в заголовке страницы обычные параметры, такие как Next() и OnLastRecord, не могут различить наличие еще одной записи для печати и отсутствие записей для печати.Я думаю, что при подсчете итогов возникнет та же проблема - значения будут одинаковыми на странице с еще одной записью для печати и на странице без записей для печати. ​​

4 голосов
/ 08 декабря 2014

Я нашел лучшее и рабочее решение для этого ответа (только немного подправил код Ноа):

WhilePrintingRecords;
Global BooleanVar finished;
finished := OnLastRecord AND NOT OnFirstRecord

и это работает, даже если сведения содержат только одну строку.

1 голос
/ 02 ноября 2011

Возможно, вы сможете адаптировать Crystal Reports: отображать сообщение, когда в отчете нет данных для удовлетворения ваших потребностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...