2017-01-25 9 views
1

У меня есть матрица в SSRS 2008, как показано ниже:Изменение фона строки для матрицы в SSRS 2008 не работает должным образом

enter image description here

То, что я хочу, чтобы изменить цвет фона 1-й и 4-й строк. Чтобы обеспечить это, я добавил код, приведенный ниже отчет:

Function AlternateColor(Byval rowNumber as integer) As String 
Dim blue As String = "LightBlue" 
Dim plum As String = "Plum" 
Dim white As String = "White" 

If rowNumber = 1 then 
    Return blue 
Else if rowNumber = 4 then 
    Return plum 
Else 
    Return white 
End If 
End Function 

И я добавил эту строку в качестве выражения цвета фона для каждой ячейки, включая Поле .Value:

=Code.AlternateColor(rownumber(nothing)) 

В конце концов, это пример из результата:

enter image description here

Это первый ряд, и я ожидал увидеть это все синие, и 4-й ряд все сливы, ВЗ ее все должно быть белым. Изменение выражения rownumber("Tablix14") в выражении тоже не помогло, где имя матрицы - Tablix14. Любая помощь, связанная с устранением проблемы здесь, будет оценена по достоинству. Благодарю.

+0

Кажется, что вы пропускаете другой рулон для каждого вызова функции AlternateColor в той же строке. Примечание. Функция RowNumber() может возвращать разные значения в той же строке матрицы. –

+0

Что следует использовать вместо этого, чтобы исправить это :( –

+1

Возможно, вы можете рассчитать в своем запросе столбца, который позволяет вам установить цвет в SSRS, каково выражение, используемое для группы строк? –

ответ

1

Изменение выражения, как указано ниже, устраняет проблему.

=Code.AlternateColor(Runningvalue(Fields!FiscalQuarter.Value,CountDistinct,"Tablix14"))