2015-01-20 6 views
0

У меня есть отчет, состоящий из таблиц, сгруппированных по полю EventID в наборе данных событий. Пользователь запросил, чтобы фон для таблиц чередовался на каждом событии. Это была простая задача в Crystal Reports, и мне интересно, возможно ли это в SSRS.Изменение цвета фона стола в новом событии в SSRS

ответ

1

Лучший способ сделать это, используя выражение на цвет фона. Если вы выберите строку перейти к BackgroundColor собственности, а затем выберите выражение:

Если у вас нет каких-либо групп, а затем просто использовать

= IIf(RowNumber(Nothing) Mod 2 = 0, "#EAEAEA", "Transparent") 

Если у вас есть одну группу, то использовать

= IIf(RowNumber("EventIDGroupName") Mod 2 = 0, "#EAEAEA", "Transparent") 

Вы также может использовать это для «сброса» количества цветов строк в каждой группе. Если вы хотите, чтобы первая деталь строки в каждой подгруппе, чтобы начать с белым и этим раствором (при использовании на строке детализации) позволили этому случиться

=IIF(RunningValue(Fields![Name].Value, CountDistinct, "NameOfPartnetGroup") Mod 2, "White", "#EAEAEA") 

для группы верхних/нижних колонтитулов:

=IIF(RunningValue(*group on field*,CountDistinct,"*parent group name*") Mod 2,"White","AliceBlue") 
0

Это довольно легко реализовать с блоком кода и выражением для цвета фона.

  1. Написать код для deteremine какой цвет для визуализации и поместить его в отчетах | Код текстовом поле на странице Отчеты Свойства.Код ниже ни в коем случае не является полным.

    Public _lastEventID As Integer = -1

    Public Function GetBackgroundColor (с кодом события As Integer) As String
    Тусклый цвет As String = "White" если (_eventID <> _lastEventID) Тогда «что-то изменить _lastEventID = с кодом событие End If Return цвета End Function

  2. Добавить выражение в BackgroundColor элемента, который вы хотите краска для повторения функции, созданной для возврата цвета.

Expression = Code.GetBackgroundColor (Fields! EventID.Value)

Смежные вопросы