【发布时间】:2015-08-26 04:55:19
【问题描述】:
我正在努力在 ASP.Net MS Visual 2010 中设计一个相当大的 rdlc 报告。报告中的某些行需要在某些地方不合适时突出显示该行。因此,在单击表格行后,我转到了 rdlc 报告的“属性”框中的背景颜色选项卡。我试图让以下表达式在属性框中的背景颜色选项卡中工作。
`=IiF((Fields!C.Value < .75 And Fields!C.Value <> "")
Or (Fields!S.Value < .75 And Fields!S.Value <> "")
Or (Fields!O.Value > 5), "Yellow", "White")`
最初我想要背景颜色为黄色或白色,但出于测试目的,我将白色更改为绿色,因为白色似乎是默认颜色。
`=IiF((Fields!C.Value < .75 And Fields!C.Value <> "")
Or (Fields!S.Value < .75 And Fields!S.Value <> "")
Or (Fields!O.Value > 5), "Yellow", "Green")`
这导致一些行是绿色的,但没有一个是黄色的,应该是黄色的行变成了白色。
当我将它缩短为时它工作正常
`=IiF((Fields!C.Value < .75 ), "Yellow", "Green")`
我得到所有绿色和黄色行。
当我尝试时效果很好
`=IiF((Fields!C.Value < .75 And Fields!C.Value <> ""), "Yellow", "Green")
这也很好,我得到所有行都是绿色或黄色。
但是一旦我添加了 Or 他们就停止工作了。
`=IiF((Fields!C.Value < .75 And Fields!C.Value <> "")
Or Fields!O.Value > 5 , "Yellow", "Green")`
这会导致一些绿色行但没有黄色行,应该是黄色行都变成白色?
在某些情况下,我没有得到绿色或黄色行。我厌倦了原始陈述,
`IiF((Fields!Cpk_C.Value >= .75 Or Fields!Cpk_C.Value = "")
And (Fields!Cpk_S.Value >= .75 Or Fields!Cpk_S.Value = "")
And (Fields!Cpk_S.Value <= 5), "Green", "Yellow")`
但是没有任何效果,因为它都是白色的行。
对于我做错了什么或为什么这不起作用的任何帮助,不胜感激,谢谢。
【问题讨论】:
-
这些换行符实际上是您公式的一部分吗?
-
换行符会打断表达式吗?我添加它们是为了便于阅读。
-
或者'(这些不是我表达的一部分,它们是用来表示代码的)
-
是的,它是基于 VB 的,所以换行符是语句结束标记。您必须在每个换行符之前放置一个
_,这意味着“此语句在下一行继续”。 -
我确实尝试了 =IiF((Fields!Cpk_C.Value > .75 And Fields!Cpk_C.Value ""), "Yellow", "LightGreen") 都在一条线上,我仍然有同样的错误,没有黄色行。
标签: asp.net colors expression rdlc