在RDLC中使用分组的备用行颜色

nik*_*ias 8 report rdlc

我需要在RDLC报告中创建备用行颜色,该报告还考虑了组.

如果我使用表达式

=Iif(RowNumber(Nothing) Mod 2, "PaleGreen", "White")
Run Code Online (Sandbox Code Playgroud)

显然,这会在使用组时产生问题.我没有太多运气找到信息所以任何帮助都会很棒.

nik*_*ias 12

决定使用我在网上找到的以下代码:

=IIf(RunningValue(Fields!GroupId.Value, CountDistinct, Nothing) MOD 2, "White", "#d6f1fc")
Run Code Online (Sandbox Code Playgroud)

它不会交替每一行颜色,但会保持该组中的所有行具有相同的颜色,这使得报告很好并且易于阅读.


小智 7

我知道这个话题很久以前就已经提出来了,但是如果有人有类似的问题(就像我做的那样)并遇到这个问题,我就是这样解决的.以下是我的报告中的报告分组和示例结果的示例:

第1组
   Sub 1
   Sub 2
   Sub 3

第2组
   Sub 1
   Sub 2
   Sub 3

请注意,'Sub [1-3]'是完全相同的标题.当使用(Fields!GroupId.Value,CountDistinct,Nothing)时,该语句确定只有3个唯一值,当它到达重复子组(Sub [1-3])时,RunningValue的结果不会增加.

您可以通过在报表中添加一个额外的列然后使用表达式来测试这一点:( RunningValue(Fields!GroupId.Value,CountDistinct,Nothing).结果如下所示:

第1组
   子1    1
   子2    2
   子3    3

第2组
   Sub 1    3
   Sub 2    3
   Sub 3    3

因为值开始重复,所以交替行逻辑的"mod 2"部分搞砸了.为了解决这个问题,我将RunningValue语句与Group标头以及Sub组合在一起:

(RunningValue(Fields!GroupId.Value + Fields!SubGroupId.Value,CountDistinct,Nothing)

我这样做后得到了这个结果:

第1组
   子1    1
   子2    2
   子3    3

第2组
   Sub 1    4
   Sub 2    5
   Sub 3    6

把它扔进你的交替行表达式,它应该工作!