альтернативный цвет фона для табликса в совокупности / сумме в SSRS - PullRequest
1 голос
/ 01 марта 2012

Я должен реализовать альтернативный цвет фона для строк, извлеченных отчетом, но проблема в том, что он имеет функции агрегирования / суммирования и не работает должным образом, поэтому я использовал следующий код -

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) (Это также, как и предыдущий ответ.)

Чтоя не понимаю, зачем делать это верно для первого столбца и ложь для остальных?Любая помощь могла бы быть полезна.

Также приведенный выше код функционирует одинаково со следующим или без него (что опять-таки не понимаю)

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

Я получил этот код с другого форума, и я новичок в SSRS и VB,Пожалуйста, помогите, пожалуйста.

заранее спасибо

1 Ответ

1 голос
/ 01 марта 2012

Свойство «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) возвращает «White "=Code.AlternateColor("AliceBlue", "White", False) возвращает" White "=Code.AlternateColor("AliceBlue", "White", False) возвращает" White "=Code.AlternateColor("AliceBlue", "White", True) возвращает" AliceBlue "=Code.AlternateColor("AliceBlue", "White", True) возвращает" White "=Code.AlternateColor("AliceBlue", "White", True) возвращает" AliceBlue "=Code.AlternateColor("AliceBlue", "White", True) возвращает" White "=Code.RestartColor("AliceBlue") возвращает" AliceBlue ""=Code.AlternateColor("AliceBlue", "White", False) возвращает" AliceBlue "=Code.AlternateColor("AliceBlue", "White", False) возвращает" AliceBlue "

Таким образом, любые вызовы AlternateColor с переключателем = False будут возвращать тот же цвет, что и последний вызов.Любые вызовы с toggle = true переключатся на другой цвет.

RestartColor возвращает к начальной точке: возможно, вы всегда хотите, чтобы верхний ряд каждого экземпляра группировки был закрашен одним и тем же цветом.

...