如何更改组中SSRS中每两行的背景颜色

时间:2016-09-23 15:43:32

标签: tsql reporting-services background-color

如何编写表达式以更改SSRS中每两行的背景颜色? 我需要这样的东西: enter image description here

我试过表达

=IIF(Fields!Type.Value="2016 Submitted" , "LightBlue",
IIF(Fields!Type.Value="2015 Submitted" , "LightBlue",
 Nothing))

但是因为有些月份没有值,所以看起来像这样: enter image description here

如果我尝试这个表达式,我会得到以下内容:

=IIF(RunningValue(Fields!Count.Value, CountDistinct, Nothing) MOD 2 = 1, "White", "PaleTurquoise")

enter image description here

Dance-Henry我尝试了你的代码

=IIF(RowNumber(Nothing) Mod 4 = 1 or RowNumber(Nothing) Mod 4 = 2, "Aqua","White")

这就是我得到的: enter image description here

4 个答案:

答案 0 :(得分:2)

您可以在设计窗格中选择行,然后按F4将属性BackgroundColor设置为=IIF(RowNumber(Nothing) Mod 4 = 1 or RowNumber(Nothing) Mod 4 = 2, "Aqua","White")

附加了捕获。这样做。

enter image description here

enter image description here

结果就是这样的

enter image description here

答案 1 :(得分:1)

通过链接https://blogs.msdn.microsoft.com/chrishays/2004/08/30/green-bar-matrix/

经过测试,适用于Matrix的Green Bar效果。我会在这里逐步展示它,以供日后参考。

第1步:创建矩阵并在矩阵中最里面的行分组下再添加一列。 (ColorNameTextbox这里) enter image description here

第2步:选择ColorNameTextbox的文本框,然后按F4BackgroundColor属性设置为=Value,如下所示。

enter image description here

第3步:选择Matrix单元格的文本框,然后按F4BackgroundColor属性设置为=ReportItems!ColorNameTextbox.Value,如下所示。

enter image description here

第4步:将内部分组标题(ColorNameTextbox)拖动到尽可能窄的范围。

enter image description here

第5步:预览窗格以检查结果。

enter image description here

答案 2 :(得分:0)

如果你可以添加一个隐藏的color_group列,并在每个想要更改颜色的点上填入一个新数字(在你的情况下是1,1,2,2,3,3,4,4)那么你可以使用类似下面的内容(适用于不同大小的组):

IIF(RunningValue(Fields!color_group.Value, CountDistinct, Nothing) MOD 2 = 1, "White", "PaleTurquoise")

答案 3 :(得分:0)

我有一个类似的问题,我无法提出交替的行,因为我的数据中的列组是RowNumber(Nothing)方法失败的原因。从这里的所有其他帖子中学习,这就是我逐步解决它的方法。

  1. 我在报表属性中添加了以下代码,该代码提供了一个函数,用于在每次调用时获取行号。每次调用时,该函数都会增加行计数。 >>右键单击报表周围的>>属性>>代码。选择报告后,也可以转到“代码属性窗口”。

enter image description here

添加以下几行:

 
     Public  Row_Sum As Decimal = 0
     Public Function Lookup_Sum( ) As integer
       Row_Sum = Row_Sum + 1 
       Return Row_Sum
     End Function
  1. 我在名为No.的行的开头添加了一个新列,该列将计算并显示行号。右键单击第一列>>“插入列” >>“组左”。

enter image description here

  1. 在新报表的表达式上添加以下代码行。还记下将具有编号值的文本框的名称。下一步将需要它。在我的情况下,TextBox称为 TextBox6 (“属性窗口”)。 >>右键单击单元格>>表达。

enter image description here

添加代码:

=Code.Lookup_Sum()
  1. 我突出显示了整个行,​​然后转到Background属性,并添加了以下表达式来计算行号。

enter image description here

添加代码( TextBox6 是上面提到的文本框名称):

=IIF(VAL(ReportItems!Textbox6.Value) MOD 2, "LIGHTBLUE", "WHITE")