【发布时间】:2013-09-08 20:23:51
【问题描述】:
我在 SQL Server 2008 R2 上使用 SSRS,我有具有动态背景颜色的单元格,当背景为白色时如何将字体更改为黑色。
我试过了:
=iif (Fields!DATE.BackgroundColor = "White" , "Black", "White")
【问题讨论】:
标签: reporting-services sql-server-2008-r2 ssrs-2008
我在 SQL Server 2008 R2 上使用 SSRS,我有具有动态背景颜色的单元格,当背景为白色时如何将字体更改为黑色。
我试过了:
=iif (Fields!DATE.BackgroundColor = "White" , "Black", "White")
【问题讨论】:
标签: reporting-services sql-server-2008-r2 ssrs-2008
您需要根据相同的条件在两个表达式中设置这两个属性。即使文本框在其文本中显示不同的字段,您仍然可以在属性表达式中使用同一行中的任何字段。
例如BackgroundColor 使用类似:
=IIf(Fields!Date.Value < CDate("01-Jan-2013"), "Black", "White")
然后对于 Color 属性使用类似:
=IIf(Fields!Date.Value < CDate("01-Jan-2013"), "White", "Black")
这里对于01-Jan-2013 之前的日期,文本框将是黑底白字,而对于今年以后的日期,文本框将是白底黑字。
在 cmets 之后编辑
确认一下,没有现成的方法可以检查 SSRS 表达式中的报告项属性(Value 除外)。我同意这会很好,但现在这不是一个选项。
因此,您需要对 BackgroundColor 和 Color 属性表达式使用相同的条件检查。
听起来您已经为 BackgroundColor 设置了一些内容,因此在需要的地方应用更新后的 Color 表达式应该很简单。
【讨论】:
DATE 背景颜色的相同表达式。当你尝试这个时会发生什么?为什么说不能基于DATE 值?你能用细节更新问题吗?