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 变量和 return 第一种或第二种颜色,具体取决于 bOddRow 的值。
第三个参数是 Toggle 值。如果它是 1,颜色会改变,否则它会 return 相同的颜色。组中的第一列将切换,而其他列将有一个 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)
抄袭我之前的post:
我已经尝试了为一组中的交替颜色发布的所有表达式,但它无法正常工作。
我的报表设计如下:
我希望每组行交替显示颜色,并且我希望每组内的细节交替显示。但是,我总是为小组交替
我正在使用这个表达式:
=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 变量和 return 第一种或第二种颜色,具体取决于 bOddRow 的值。
第三个参数是 Toggle 值。如果它是 1,颜色会改变,否则它会 return 相同的颜色。组中的第一列将切换,而其他列将有一个 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)
抄袭我之前的post: