【问题标题】:SSRS set font colour base on background colourSSRS 根据背景颜色设置字体颜色
【发布时间】: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


    【解决方案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 之后编辑

    确认一下,没有现成的方法可以检查 SSRS 表达式中的报告项属性(Value 除外)。我同意这会很好,但现在这不是一个选项。

    因此,您需要对 BackgroundColorColor 属性表达式使用相同的条件检查。

    听起来您已经为 BackgroundColor 设置了一些内容,因此在需要的地方应用更新后的 Color 表达式应该很简单。

    【讨论】:

    • 我不能基于 DATE.Value,我怎么能用 DATE.BackgroundColor 做到这一点?
    • 根据上面的答案,您必须基于用于设置 DATE 背景颜色的相同表达式。当你尝试这个时会发生什么?为什么说不能基于DATE 值?你能用细节更新问题吗?
    • 背景是根据工作日的值设置的,不同的日子有不同的颜色。看起来检查背景值是管理字体颜色的一种更简单的解决方案。
    • 明白,但不幸的是,这在本机 SSRS 表达式中并不容易获得。所以我认为你可能需要接受我的建议。
    猜你喜欢
    • 2016-04-03
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多