有条件地设置 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")
我正在将一个包含多行的数据源传递给 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")