使用页面拆分向SSRS Matrix报告添加交替行颜色

问题描述 投票:0回答:2

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

表达:

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

enter image description here

reporting-services ssrs-2012
2个回答
4
投票

我偶尔会遇到使用Running Value的问题,只是使用有人创建的Alternating Row Color函数。

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


0
投票

RunningValue这样的聚合函数有一个可选参数来覆盖范围。在您的情况下,您需要引用正在尝试计算行数的正确行组。与默认情况下最低级别的细节相反。它看起来应该是这样,但是使用您的组名:

=iif(RunningValue(Fields!CurrentIntroducerManager.Value.ToString,CountDistinct, "MyGroupNameHere") Mod 2,"Gainsboro", "White")
© www.soinside.com 2019 - 2024. All rights reserved.