s-s-rS 根据背景颜色设置字体颜色
Posted
技术标签:
【中文标题】s-s-rS 根据背景颜色设置字体颜色【英文标题】:s-s-rS set font colour base on background colour 【发布时间】:2013-09-08 20:23:51 【问题描述】:我在 SQL Server 2008 R2 上使用 s-s-rS,我有具有动态背景颜色的单元格,当背景为白色时如何将字体更改为黑色。
我试过了:
=iif (Fields!DATE.BackgroundColor = "White" , "Black", "White")
【问题讨论】:
【参考方案1】:您需要根据相同的条件在两个表达式中设置这两个属性。即使文本框在其文本中显示不同的字段,您仍然可以在属性表达式中使用同一行中的任何字段。
例如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 之后编辑
确认一下,没有现成的方法可以检查 s-s-rS 表达式中的报告项属性(Value
除外)。我同意这会很好,但现在这不是一个选项。
因此,您需要对 BackgroundColor 和 Color 属性表达式使用相同的条件检查。
听起来您已经为 BackgroundColor 设置了一些内容,因此在需要的地方应用更新后的 Color 表达式应该很简单。
【讨论】:
我不能基于 DATE.Value,我怎么能用 DATE.BackgroundColor 做到这一点? 根据上面的答案,您必须基于用于设置DATE
背景颜色的相同表达式。当你尝试这个时会发生什么?为什么说不能基于DATE
值?你能用细节更新问题吗?
背景是根据工作日的值设置的,不同的日子有不同的颜色。看起来检查背景值是管理字体颜色的一种更简单的解决方案。
明白,但不幸的是,这在本机 s-s-rS 表达式中并不容易获得。所以我认为你可能需要接受我的建议。以上是关于s-s-rS 根据背景颜色设置字体颜色的主要内容,如果未能解决你的问题,请参考以下文章