两行在SQL Server报告中具有相同的颜色

时间:2019-06-10 13:28:28

标签: c# reporting-services report sql-server-data-tools rdl

该项目正在使用SQL Server报告,其中包含N行。我的要求是以另一种方式使背景色为行。

为实现此表达式,将以下表达式提供给行的backgroundcolor属性:

=IIf(RowNumber(Nothing) Mod 2 = 1, "RED", "BLUE")

一切正常,除了第二页的第二行和第三行具有相同的颜色:

enter image description here

考虑报告的以下属性:

  • 分组应用于报表的第一列。但是, 第一行可以重复。
  • 没有一个具有唯一条目的列,因此在任何列上分组 给出相同的问题。

总而言之,是否可以为应用分组的行和跳过的重复条目提供替代的背景颜色?

1 个答案:

答案 0 :(得分:0)

我没有关于您的特定问题的经验(因此,如果无法解决,请提前道歉);但是我在常规报表中执行此操作的方式是使用表达式隐藏列。在您的情况下,您必须将该表达式放在行组内作为隐藏列:

=RunningValue(Fields!Code.Value, countDistinct, Nothing)

RunningValue类似于SQL Server中的标识列,其中每个新行将值+1递增。

您应该将此隐藏的单元格重命名为有意义的名称,例如ROWCOLOR。如果右键单击该单元格并选择“文本框属性”,则将“名称”设置为ROWCOLOR。

使用另一种表达式替换行的背景颜色,例如:

=IIF(VAL(ReportItems!ROWCOLOR.Value) MOD 2, "RED", "BLUE")