使用页面拆分将交替的行颜色添加到SSRS矩阵报告中

时间:2019-02-22 11:19:22

标签: reporting-services ssrs-2012

我有一个矩阵,其中每个产品组都有多个页面拆分。我使用以下表达式来获取每个产品组的交替行颜色。问题是,它只能按预期在第1页上正常工作。其他页面(即第2页)会根据以下屏幕截图返回不想要的结果:

表达:

= iif(RunningValue(Fields!CurrentIntroducerManager.Value.ToString,CountDistinct,Nothing)Mod 2,“ Gainsboro”,“ White”)

enter image description here

2 个答案:

答案 0 :(得分:3)

我偶尔使用运行值时遇到问题,只是使用某人不久前创建的“交替行颜色”功能。

Private bOddRow As Boolean
'*************************************************************************
' -- Display green-bar type color banding in detail rows
' -- Call from BackGroundColor property of all detail row textboxes
' -- Set Toggle True for first item, False for others.
'*************************************************************************
Function AlternateColor(ByVal OddColor As String, _
         ByVal EvenColor As String, ByVal Toggle As Boolean) As String
    If Toggle Then bOddRow = Not bOddRow
    If bOddRow Then
        Return OddColor
    Else
        Return EvenColor
    End If
End Function

对于控制颜色的第一列:

=Code.AlternateColor("AliceBlue", "White", True)

对于其余的列,请勿使用第三个参数切换

=Code.AlternateColor("AliceBlue", "White", False)

您可能需要切换矩阵第一栏中的颜色。

Alternating row color expression in SSRS matrix not working correctly

SSRS Alternating Row Colors Within Groups

答案 1 :(得分:0)

诸如RunningValue之类的集合函数具有一个可选参数来覆盖范围。对于您的情况,您需要引用您要在其中计算行的正确行组。与最低级别的细节相反(默认情况下,细节级别是这样做的)。它应该看起来像这样,但是带有您的组名:

=iif(RunningValue(Fields!CurrentIntroducerManager.Value.ToString,CountDistinct, "MyGroupNameHere") Mod 2,"Gainsboro", "White")