Table SSRS 中新事件的背景颜色更改

Table Background Color Change on New Event in SSRS

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

这实际上很容易用一段代码和一个背景颜色表达式来实现。

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

    Public _lastEventID 为整数=-1

    Public 函数 GetBackgroundColor(eventID As Integer) AS String
    暗色作为字符串="White" 如果(_eventID<>_lastEventID)那么 '改变些什么 _lastEventID=事件ID 万一 Return颜色结束函数

  2. 在要绘制的项目的 BackgroundColor 中添加一个表达式,以将创建的函数引用到 return 颜色。

表达式 =Code.GetBackgroundColor(字段!EventID.Value)

更好的方法是使用背景颜色上的表达式。如果您 select 行转到 BackgroundColor 属性 然后 select 表达式

如果您没有任何群组,则只需使用

 = 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")

组 headers/footers:

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