SSRS中新事件的表背景颜色变化

时间:2015-01-20 22:30:05

标签: sql-server reporting-services

我有一个报告,它由在Event数据集中名为EventID的字段分组的表组成。用户已请求表格的背景在每个事件上交替。这曾经是Crystal Reports中的一项简单任务,我想知道这是否可以在SSRS中使用。

2 个答案:

答案 0 :(得分:1)

使用背景颜色上的表达式更好的方法。如果选择行,请转到BackgroundColor属性,然后选择表达式

如果您没有任何群组,请使用

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

如果您有单一组,请使用

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

您还可以使用它来“重置”每个组中的行颜色计数。如果您希望每个子组中的第一个详细信息行以White开头,并且此解决方案(在详细信息行上使用时)允许此操作发生

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

用于组页眉/页脚:

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

答案 1 :(得分:0)

使用代码块和背景颜色表达式来实现这一点非常容易。

  1. 编写代码以检测要呈现的颜色,并将其放在“报告属性”页面上的“报告|代码”文本框中。 以下代码绝不完整。

    Public _lastEventID As Integer = -1

    公共函数GetBackgroundColor(eventID As Integer)AS String
        昏暗的颜色As String =“White”     if(_eventID<> _lastEventID)然后         '改变些什么         _lastEventID = EVENTID     万一     返回颜色结束功能

  2. 在要绘制的项目的BackgroundColor中添加表达式,以重新创建为返回颜色而创建的函数。

  3. <强>表达式 = Code.GetBackgroundColor(字段!EventID.Value)