有条件地设置 Textbox 填写 RDLC

Conditionally set Textbox Fill in RDLC

我正在将一个包含多行的数据源传递给 rdlc。当我将它绑定到网格时,会出现名为 AcknowledgeBy 和 AcknowledgedOn 的列。如果 AcknowledgedOn 日期大于 AcknowledgeBy 日期或者如果它是空的我想突出显示单元格红色。我将以下表达式添加到文本框的 "Fill" 属性。

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

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

但是,如果我在错误的陈述中添加第二个 Iif,它将不再突出显示更大的结果,但会突出显示空结果。

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

谁能指出我的问题所在?

我不太清楚为什么我不能使用 = 运算符,但我可以使用 "Like" 让它工作。 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")