【问题标题】:Conditional Formatting a textbox条件格式化文本框
【发布时间】:2019-03-21 14:03:22
【问题描述】:

我正在使用 ReportBuilder

以下是根据单元格中的值更改背景颜色的表达式。我想在现有表达式中添加一个新条件,以将 textbox22(如果其中包含“N/A”)更改为浅绿色

=iif(isnothing(reportitems!Textbox22.value),Nothing, switch(reportitems!Textbox22.value >1 and reportitems!Textbox22.value <=50,"#fd6767",reportitems!Textbox22.value >=51 and reportitems!Textbox22.value <=79,"#f8d3a9",reportitems!Textbox22.value >=80 and reportitems!Textbox22.value <=100,"LightGreen",reportitems!Textbox22.value = 0, "#fd6767"))

这是设计视图

这是单元格中的表达式,如果该单元格没有值,则返回“N/A”。

=iif(isnothing(lookup(Fields!StatID.value,Fields!statID.value,Fields!pass_rate.value,"Res2nd")),"N/A",lookup(Fields!StatID.value,Fields!statID.value,Fields!pass_rate.value,"Res2nd"))

这是输出

我尝试了以下方法,但这会使所有单元格变白

 =switch(reportitems!Textbox22.value >1 and reportitems!Textbox22.value <=50,"#fd6767",reportitems!Textbox22.value >=51 and reportitems!Textbox22.value <=79,"#f8d3a9",reportitems!Textbox22.value >=80 and reportitems!Textbox22.value <=100,"LightGreen",reportitems!Textbox22.value = 0, "#fd6767",reportitems!Textbox22.value = "N/A","LightGreen")

【问题讨论】:

    标签: vba visual-studio-2012 reporting-services reportbuilder3.0 ssrs-expression


    【解决方案1】:

    将您的表达式修改为:

    =iif(isnothing(reportitems!Textbox22.value),Nothing, switch(reportitems!Textbox22.value >1 and reportitems!Textbox22.value <=50,"#fd6767",reportitems!Textbox22.value >=51 and reportitems!Textbox22.value <=79,"#f8d3a9",reportitems!Textbox22.value >=80 and reportitems!Textbox22.value <=100,"LightGreen",reportitems!Textbox22.value = 0, "#fd6767",reportitems!Textbox22.value ="N/A","LightGreen"))
    

    【讨论】:

    • 感谢@SuperSimmer 44,不幸的是它不起作用,所有单元格都返回白色。这实际上是我已经尝试过的一种方式,在我的脑海中非常有意义。我尝试了很多变化,我有点失去希望了。
    • 由于您的表达式将始终返回一个值或“N/A”,您可以删除背景颜色表达式的 isnothing 部分,因为这部分永远不应该是真的。可能有帮助???
    • 恐怕这也行不通,我已经把表达式放在上面了,我假设这就是你的意思?
    • @Clem_Fandango 你想把你的报告的 .rdl 发送到我的电子邮件地址,我会进一步调查吗?
    【解决方案2】:

    试试这个表达式:

    =switch(reportitems!Textbox22.value >=0 and reportitems!Textbox22.value <=50,"#fd6767",reportitems!Textbox22.value >=51 and reportitems!Textbox22.value <= 79,"#f8d3a9",reportitems!Textbox22.value >=80 or reportitems!Textbox22.value  = "N/A","LightGreen")
    

    【讨论】:

    • 恐怕这只会让一切变白
    【解决方案3】:

    通过使用以下方法最终成功地完成了这项工作

    =iif(reportitems!Textbox22.value >=0 and reportitems!Textbox22.value <=50 ,"#f1b1b1",iif(reportitems!Textbox22.value >50 and reportitems!Textbox22.value <=79,"#f8d3a9","LightGreen"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多