SSRS里矩阵报表的隔行换色

0
想在矩阵报表中进行隔行换色,应该怎么操作,谢谢。
已邀请:
1

heaven - 微软BI架构、SSRS高级开发 2014-06-27 回答

1.在报表空白处,右击,选择报表属性,选择代码然后把一段代码复制进去
Private colorPalette As String() = {"#9966FF", "#FF9933"}
Private count As Integer = 0
Private mapping As New System.Collections.Hashtable()
Public Function GetColor(ByVal groupingValue As String) As String
If mapping.ContainsKey(groupingValue) Then
Return mapping(groupingValue)
End If
Dim c As String = colorPalette(count Mod colorPalette.Length)
count = count + 1
mapping.Add(groupingValue, c)
Return c
End Function

----- {"#9966FF", "#FF9933"}要分的颜色
  1. 然后选中你要分颜色显示的一行单元格,在属性里面设置单元格背景颜色,在里面选择表达式,写上=code.getcolor(Fileds!***.value)----需要按颜色显示的组
1

anikor 2014-07-07 回答

隔行换色可用iff(rownumber(nothing) mod 2 =1,‘#ffffff’,‘#000000’)
1

heaven - 微软BI架构、SSRS高级开发 2015-01-28 回答

其他方法都试不出来,现在的方法就是把矩阵上面那些空白的地方在sql里面加一条空数据,你可以用你要查选的人和所有的month full join ,然后再去left join你的查询结果
1

aliceliuyu - To Be Or Not To Be That Is a Question 2015-01-29 回答

经过两天,我终于把这个问题处理了。我把方案和大家说一下子。一:请把代码放入报表属性-代码中
dim Counter as integer=0
Public function getCounter() as Integer
Counter=Counter+1
return Counter
end function
二:添加一列-组外部列,设置列的属性为隐藏
三:将列名称设置为rownumber列类型表达式设为=code.getCounter
四:使用下面表达式来填充背景色
=iif(reportitems!rownumber.Value mod 2 = 0,"Red","Green")
“Red”,"Green"是轮换色可以任意选择
0

aliceliuyu - To Be Or Not To Be That Is a Question 2015-01-27 回答

43[Q0BL2EA)E`O_3N`757H.png

为什么我做出来的是这个样子,我是根据code.getcolor(Fileds!RMCode.Value)来显示组的,然后就是没有值得没有背景颜色了,我现在想要没有值得也需要背景颜色,还有就是第一列RMCode的值怎么是颜色的值了,急需要解决啊啊
0

cicelysavira 2015-01-27 回答

看到这个问题,我也来回答一下。。。
如图:画了个简单的矩阵




因为详细行是根据数据源获取数据的,会有N多行,所以选中详细行,在属性页面中背景颜色,选中表达式:如图







在表达式中写入:



其中 DataSet1 为数据集的名称

0

aliceliuyu - To Be Or Not To Be That Is a Question 2015-01-27 回答

您可以尝试添加多个行组,以及在添加一个列组,试试您的方案,看还能不能达到你的这个效果。因为我这个是根据一个字段划分列组的,所以有点麻烦

要回复问题请先登录注册