繁体   English   中英

SSRS在组中交替显示颜色

[英]SSRS Alternating colors in groups

我已经尝试过所有在一组中交替显示颜色的表达,但是它不能正常工作。

我的报告设计如下所示: 在此处输入图片说明

我希望每个组行都可以替换颜色,并且希望每个组内的细节都可以替换。 但是,我总是交替使用

在此处输入图片说明

我正在使用此表达式:

=IIF(RunningValue(Fields!AssignedUnit.Value,COUNT,NOTHING) MOD 2 = 0
,IIF(ROWNUMBER(NOTHING) MOD 2=0,"LIGHTBLUE","SILVER")
,IIF(ROWNUMBER(NOTHING) MOD 2=1,"SILVER","LIGHTBLUE"))

用于组填充,此表达式用于细节填充:

= IIf(RowNumber(Nothing) Mod 2 = 0, "LIGHTBLUE", "SILVER")

在此处输入图片说明

有人可以帮助我弄清楚我需要更改的内容,以便外部团队正确交替吗?

谢谢。

我使用一个函数来控制背景颜色-比使用SSRS中的ROWNUMBER函数更可靠。

您可以将其添加到“ VB代码”部分(“报表属性->代码”选项卡):

Private bOddRow(10) As Boolean 

Function AlternateColor(ByVal OddColor As String, ByVal EvenColor As String, ByVal Toggle As Boolean, ByVal Type AS INTEGER) As String 

  If Toggle Then bOddRow(Type) = Not bOddRow(Type) 

  If bOddRow(Type) Then 
                Return OddColor 
  Else 
                Return EvenColor 
  End If 

End Function

然后从BackgroundColor值调用该函数:

=code.AlternateColor("AliceBlue", "White", 1, 1)

该函数所做的全部工作就是检查bOddRow变量,并根据bOddRow的值返回第一种或第二种颜色。

第三个参数是Toggle值。 如果为1,则颜色将更改,否则将返回相同的颜色。 组中的第一列将切换,而其他列将具有0,因此颜色与第一列相同。

第四个参数是组号。 对于您的报告,我将内部组1设为最后一个数字,将外部组设为2。

内组第一栏背景色:

=code.AlternateColor("AliceBlue", "White", 1, 1)

内部组其他列的背景色:

=code.AlternateColor("AliceBlue", "White", 0, 1)

外层第一栏背景颜色:

=code.AlternateColor("MintCream", "WhiteSmoke", 1, 2)

外部组其他列的背景色:

=code.AlternateColor("MintCream", "WhiteSmoke", 0, 2)

抄袭我以前的文章: 如何在SSRS中为组中的值创建替代行背景颜色

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM