【问题标题】:Switch cell fill color in SSRS report在 SSRS 报告中切换单元格填充颜色
【发布时间】:2020-06-23 03:35:09
【问题描述】:

我正在自学 SSRS,并且我已经构建了一个我想使用的报告。每个产品都有自己的页面,并附有规格表。

报告的单元格填充颜色会因产品类别(白葡萄、红葡萄、黑葡萄)而异。

我不想为每个类别创建单独的报告,而是想根据类别更改填充颜色。下面是我的代码,但它产生了一个错误。我基于堆栈溢出中的另一个答案 (Fill color based on values from other data set in SSRS)

=switch(
    (
        Fields!new_type.Value.Equals("White")
    ),  #749b53
    ,(
        Fields!new_type.Value.Equals("Red")
    ), #9D2347
    ,(
        Fields!new_type.Value.Equals("Black")
        #3D234f
    )

这是我得到的错误: “文本框 'new_arraname' 的 BackgroundColor 表达式包含错误:[BC31085] 日期常量无效。

【问题讨论】:

    标签: visual-studio reporting-services ssrs-2008


    【解决方案1】:

    试试这个,你少了一个逗号和括号。

    =switch(
        Fields!new_type.Value="White","#749b53",
        Fields!new_type.Value="Red","#9D2347",
        Fields!new_type.Value="Black","#3D234f"
        )
    

    【讨论】:

    • 不幸的是,它仍然有错误:文本框'Textbox54'的BackgroundColor表达式包含错误:[BC31085]日期常量无效
    • 更新答案,SSRS 试图将 #749b53 解释为日期文字,而不是使用“#749b53”
    • 嗨。我不确定我是否理解,我已经引用了它。我看不出与上面的代码有什么不同。
    • 好的,所以问题出在 HTML 代码上,当我将其切换为“红色”、“绿色”和“黑色”时,它可以工作 - 但我需要特定的 HTML 代码。知道它的格式应该是怎样的吗?
    • ( Fields!new_type.Value.Equals("White")), #749b53 这是你原来的表达部分,如果你看到这里你没有“#749b53”。你试过用双引号吗?它应该工作。
    猜你喜欢
    • 2017-01-05
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    相关资源
    最近更新 更多