Как показать / скрыть поле с помощью другого поля видимости в отчете Crystal

Я использую Crystal Report с vb.net, и я хочу показать / скрыть некоторые поля по видимости другого поля. Во-первых, я добавляю условие подавления к одному полю, как =>

if Not OnfirstRecord And ({Field1} = previous({Field1})) then
true

Я добавил это условие, потому что я не хочу показывать повторяющееся поле, и оно работает. И затем я добавил строку в отчет Crystal, эта строка будет отображаться только тогда, когда field1 visible = true.

Моя идея состоит в том, чтобы показать строку, когда поле field1 видно, и скрыть, когда field1 скрыть. Как я могу показать строку, что условие зависит от видимости field1?

1 ответ

Я не знаю, как проверить, подавлено ли поле или нет, но поскольку вы используете формулу для подавления поля, которое вы хотите проверить на подавление, вам просто нужно инвертировать логику, используемую в этой формуле.

Если Field_A имеет следующую формулу подавления:

if Not OnfirstRecord And ({Field1} = previous({Field1})) then
true
else
false

Тогда Field_B будет иметь эту формулу подавления:

if Not OnfirstRecord And ({Field1} = previous({Field1})) then
false
else
true

Также я хотел бы отметить, что вам не всегда нужно использовать логику If..Then..Else в формулах подавления. Выражения, которые вы используете в операторе If, в конечном итоге приведут к истинному или ложному значению. Вы можете сократить формулу подавления только до самого выражения, и подавление будет работать так же с меньшим количеством кода для вас.:)

Поскольку вы использовали операторы if, я добавил еще одну в вашу логику. Формула подавления, в которой используется оператор If, может привести к неожиданным результатам, если вы не укажете условие для значений true и false. Когда вы возвращаете только истинное значение, формула может только подавить поле. Как только одна запись оценивается как истинная, формула никогда не может установить значение обратно в ложное, если следующая запись должна быть подавлена. Это еще одна причина, по которой лучше всего использовать выражения в формуле подавления. Поскольку выражение всегда оценивается как истинное или ложное, они могут помочь предотвратить попадание в логическую ловушку оператора if, для которого не указано другое условие.

Другие вопросы по тегам