在SSRS中,使用IIF设置文本框的字体颜色不起作用

时间:2018-05-01 22:38:45

标签: sql-server reporting-services ssrs-2012 reportbuilder

我已经尝试了几乎所有我能想到的东西让它起作用,但无济于事。我有一个文本框,如果某个值为true,我希望字体颜色为浅灰色,如果为false则为黑色。以下是我尝试过的所有表达方式:

=IIF(Fields!is_hold.Value,"LightGrey","Black")
=IIF(Fields!is_hold.Value,"#d2d2d2","#000000")
=If(Fields!is_hold.Value,"LightGrey","Black")
=If(Fields!is_hold.Value,"#d2d2d2","#000000")
=IIF(True,"#d2d2d2","#000000")
=IIF(True,"LightGrey","Black")
=If(True,"LightGrey","Black")
=If(True,"#d2d2d2","#000000")
=SWITCH(True,"#d2d2d2",False,"#000000")
=SWITCH(True,"LightGrey",False,"Black")

奇怪的是,当我将[is_hold]作为参数传递时,它在另一个子报表上工作正常:

=If(Parameters!IsHold.Value, "#d2d2d2", "#000000")

我在Chrome和IE中都试过了。

更新:这仅在文本框中失败。如果我使用相同的表达式设置一行的颜色,它可以正常工作。

更新2:服务器端存在问题。在报表生成器中预览表单时,文本颜色应该完全正确。我检查了为元素自动生成的CSS类,并且在使用表达式时没有颜色属性。如果我直接设置颜色,则CSS中存在颜色属性。重新启动SSRS服务没有帮助。

1 个答案:

答案 0 :(得分:0)

好吧,当我尝试使用以下表达式作为颜色表达式的所有可能场景(表格,线条,方框和文本框)时,不知道你遗失了什么,这一切都适合我。

=iif(Parameters!Bool.Value,"Red","Blue")

结果是......

在开发中:

enter image description here

已部署版本:

enter image description here

你能指出我所缺少的东西,以便我也能尝试那一点吗?

P.S。:抱歉,这不是答案,但无法对这些细节发表评论。