我使用一个函数来控制背景颜色——它比在 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 的值返回第一种或第二种颜色。
第三个参数是切换值。如果为 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)
抄袭我之前的帖子:
How to create Alternative Row Background colors in SSRS for values in a group