Как показать / скрыть поле с помощью другого поля видимости в отчете 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, для которого не указано другое условие.