Tablix的替代背景颜色,聚合/ SSRS中的总和

时间:2012-03-01 06:38:37

标签: ssrs-2008 reporting-services reportingservices-2005 ssrs-tablix

我必须为报告检索的行实现备用背景颜色,但问题是它具有聚合/求和功能并且无法正常工作,所以我使用了下面的代码 -

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 
' 
Function RestartColor(ByVal OddColor As String) As String 
bOddRow = True 
Return OddColor 
End Function 

所以我现在有三种不同的细胞背景:

  1. 数据行的第一列= Code.AlternateColor(“AliceBlue”,“White”,True)(这与上一个答案相同。)
  2. 剩余的数据行列= Code.AlternateColor(“AliceBlue”,“White”,False)(这也与上一个答案相同。)
  3. 我不明白为什么第一列是真的而休息是假的?任何帮助将非常感激。

    上面的代码也可以使用或不使用以下代码(我也不明白)

    ' 
    Function RestartColor(ByVal OddColor As String) As String 
    bOddRow = True 
    Return OddColor 
    End Function 
    

    我从另一个论坛获得此代码,我是SSRS和VB的新手。请帮忙。

    提前致谢

1 个答案:

答案 0 :(得分:1)

“Toggle”属性每行只应设置为True:这意味着该函数将切换(切换)它返回的颜色。

因此,如果您按此顺序调用这些代码,则此代码执行此操作:

=Code.AlternateColor("AliceBlue", "White", True)返回“AliceBlue” =Code.AlternateColor("AliceBlue", "White", False)返回“AliceBlue” =Code.AlternateColor("AliceBlue", "White", False)返回“AliceBlue” =Code.AlternateColor("AliceBlue", "White", False)返回“AliceBlue” =Code.AlternateColor("AliceBlue", "White", True)返回“白色” =Code.AlternateColor("AliceBlue", "White", False)返回“白色” =Code.AlternateColor("AliceBlue", "White", False)返回“白色” =Code.AlternateColor("AliceBlue", "White", False)返回“白色” =Code.AlternateColor("AliceBlue", "White", True)返回“AliceBlue” =Code.AlternateColor("AliceBlue", "White", True)返回“白色” =Code.AlternateColor("AliceBlue", "White", True)返回“AliceBlue” =Code.AlternateColor("AliceBlue", "White", True)返回“白色” =Code.RestartColor("AliceBlue")返回“AliceBlue” =Code.AlternateColor("AliceBlue", "White", False)返回“AliceBlue” =Code.AlternateColor("AliceBlue", "White", False)返回“AliceBlue”

因此,使用toggle = False调用AlternateColor将返回与上次调用相同的颜色。任何使用toggle = true的调用都将切换到另一种颜色。

RestartColor设置回起点:也许你总是希望分组的每个实例的顶行都用相同的颜色着色。