Подавить раздел Crystal Reports, если в таблице данных нет строк - PullRequest
3 голосов
/ 18 февраля 2010

У меня есть раздел в Crystal Report, который я хочу отключить. Мне нужно подавить его, если в определенной таблице в наборе данных, который я использую, есть 0 строк. Как бы я это сделал? Представленное специальное поле «Номер записи», по-видимому, является внутренним числом записей в отчете и не относится к строкам в базовой таблице данных.

Я создаю отчет из C #, но не могу исключить раздел из кода (он не соответствует структуре проекта) - я должен быть в состоянии сделать это из самого отчета. Соответствующая таблица определенно передается в отчет в наборе данных, но она содержит 0 строк. Должен быть способ установить это в самом отчете .....

Может кто-нибудь указать мне правильное направление?

Ответы [ 4 ]

6 голосов
/ 18 февраля 2010

В конструкторе Crystal Reports просмотрите свойства вашего раздела, и должна быть опция «Подавить», в которой вы можете задать формулу для возврата соответствующего логического значения.

Затем вы можете использовать функцию Count () в этой формуле и (я считаю) вы можете передать имя вашего набора данных в функцию Count (), чтобы получить количество строк в этом наборе данных.

Я сделал то же самое в сложном отчете около 3 месяцев назад, но у меня больше нет доступа к отчету после смены работы, поэтому извините, я не могу быть более конкретным, но, к счастью, это дает вам отправную точку .

Только что быстро Google - попробуйте .

3 голосов
/ 19 февраля 2010

Если раздел содержит только поля базы данных и т. Д. без текстовых полей, тогда вы можете использовать настройку «Подавить пустое сечение» в «Экспорт раздела» (правый клик) для этого раздела.

В качестве альтернативы вы можете использовать следующую формулу в «Подавить» в «Экспорт раздела» для этого раздела:

IsNull({table.field})

"{table.field}" является одним из полей в наборе данных.

Надеюсь, это поможет.

1 голос
/ 26 августа 2015

Перейдите в раздел «Эксперт по разделам», нажмите «Подавить (без детализации)» и попробуйте добавить это:

IF {"DragYourFieldHere"} = "" then true else false
0 голосов
/ 04 октября 2016

Создайте одну фиктивную группу, проверьте ее заголовок для каждой страницы, добавьте заголовок в заголовок группы фиктивной группы.

...