Crystal Reports - Подавить заголовок страницы, если на странице 0 записей
Я хотел бы подавить заголовок страницы, если на странице нет записей данных.
Заметки
- Возможно, страница все еще должна отображаться для отображения нижних колонтитулов группы или отчета.
- Меня интересует случай, когда нет записей для раздела подробностей отчета для текущей страницы. Я имею в виду ситуацию, когда все подробные записи были отображены для группы, но нижний колонтитул группы переносится на следующую страницу.
4 ответа
Предполагая, что вы отметили "Сохранить вместе" для нижнего колонтитула группы, попробуйте ввести следующее в формулу условного подавления для раздела заголовка страницы в эксперте раздела:
OnLastRecord or {GROUP FIELD NAME} <> Next({GROUP FIELD NAME})
где {GROUP FIELD NAME} - это имя поля группировки.
OnLastRecord должен стоять первым в формуле, потому что, если на последней странице отчета нет подробных записей (так что заголовок страницы должен быть подавлен), то Next({GROUP FIELD NAME}) оценивается как NULL и все условия, которые идут после нее также оцениваются как NULL.
Во-первых, вы должны создать формулу. Затем вставьте его в раздел "Детали". Например, @VariableA
Внутри формулы поместите это:
Shared NumberVar PageofLastField;
If OnLastRecord then PageofLastField := PageNumber;
Подавить формулу.
Формула проверяет, является ли запись последней записью. Если это последняя запись, она сохраняет номер страницы с последней записью в общей переменной PageofLastField. Затем в формуле Suppress вашего заголовка поместите этот код:
Shared NumberVar PageofLastField;
PageofLastField := PageofLastField;
if pageofLastfield <> 0 and PageNumber > PageofLastField
THEN TRUE
ELSE FALSE
Щелчок правой кнопкой мыши по заголовку страницы Выбор эксперта раздела "Подавить (без детализации)" не отмечен, но добавьте эту формулу: pagenumber = totalpagecount
Вставьте итоговый счетчик для любого поля
Подавить формулу.
IF Count ({table1.field1})=0
THEN TRUE
ELSE FALSE
Чтобы проверить, пустой ли раздел подробностей, вы можете использовать следующую инструкцию в формуле подавления раздела, которую вы хотите скрыть
if(NextIsNull(EnterFieldofNextSectionHere)) then
true
else
false