有条件设置文本框填写RDLC

本文关键字:RDLC 置文本 有条件 | 更新日期: 2023-09-27 18:12:50

我将一个具有多行的数据源传递给rdlc。当我将它绑定到网格时,有两列叫做AcknowledgeBy和AcknowledgedOn。如果confirdgedon日期大于confirdgeby日期,或者如果它为空,我希望将单元格突出显示为红色。我将下列表达式添加到文本框的"Fill"属性中。

当我使用此代码时,它将正确地突出显示大于确认日期的任何日期

=Iif(Fields!AcknowledgedOn.Value > Fields!AcknowledgeBy.Value, "#ff9e9e", "Transparent")

但是,如果我在false语句中添加第二个Iif,它将不再突出显示较大的结果,而是突出显示空结果。

=Iif(Fields!AcknowledgedOn.Value > Fields!AcknowledgeBy.Value, "#ff9e9e", Iif(Fields!AcknowledgedOn.Value = "", "#ff9e9e", "Transparent"))
谁能指出我的问题是什么?

有条件设置文本框填写RDLC

我不完全确定为什么我不能使用=操作符,但我能够让它使用"喜欢"工作。Like操作符用于比较两个字符串。

=IIf(Fields!AcknowledgedOn.Value > Fields!AcknowledgeBy.Value Or Fields!AcknowledgedOn.Value Like "", "#ff9e9e", "Transparent")

您可以使用IsNothing:

=IIf(Fields!AcknowledgedOn.Value > Fields!AcknowledgeBy.Value Or IsNothing(Fields!AcknowledgedOn.Value), "#ff9e9e", "Transparent")