Reporting Service技巧(一):表格中奇偶行不同颜色的设置
在报表开发中,我们都希望设计出的报表非常美观,就象Excel2007给我们带来的全新的视觉感受一样,让使用者感觉很舒服。
美观性设置中,在报表中奇偶行显示不同的背景颜色就是其中的一种,那么我们就来介绍一下在Reporting Services 2005中如何来实现。
方法一:系统函数
设置所有单元格的背景为如下表达式:
backgroudcolor=iif(RowNumber(Nothing) Mod 2, "Lavender", "White")
其中:
RowNumber(Nothing):提供了对最外层数据区域中的各行的运行计数值
为了实现更好的通用性,我们可以将此写成一个自定义函数。
方法二:自定义函数
此方法设置得更为巧妙,利用一个全局变量bOddRow来实现奇偶行的切换。
Private bOddRow As Boolean
'*****************************************************************************
'-- Display green-bar type color banding in detail rows
'-- Call from BackGroundColor property of all detail row textboxes
'-- Set Toggle True for first item, False for others.
'*****************************************************************************
Function AlternateColor(ByVal OddColor As String, ByVal EvenColor As String, ByVal Toggle As Boolean) As String
If Toggle Then bOddRow = Not bOddRow
If bOddRow Then
Return OddColor
Else
Return EvenColor
End If
End Function
函数设置完成之后,在表格第一列的背景色中设置为:
=Code.AlternateColor("Black", "White", True)
其他列设置为:
=Code.AlternateColor("Black", "White", False)
[url=]Reporting Services技巧(二) 实现对KPI的支持[/url]
Analysis Services2005的一个新增功能是KPI,然而这种功能在Reporting Services 2005中却无法使用,也就是说,ReportingServices 2005无法读取Analysis Services的KPI,这里提供两种解决办法: 1.通过Report Builder
我们可以在Report Builder中创建报表,可以直接读取Analysis Services中已经设置好的KPI,由于ReportBuilder的报表设计功能有限,所以我们可以将已经添加好KPI的报表保存起来,再利用开发环境打开进行其他设置,增加其他功能。
缺点是我们无法对KPI的图标进行设置。 2.利用自定义代码
在开发环境中,我们同样可以利用自定义代码来完成对KPI的读取。
首先我们需要将所需的KPI图标读取到报表中,这样我们可以在报表里面利用这些图标,也可以将其读取到项目中,这样,项目中所有的报表都可以利用这些图标。
接下来我们设定如下的代码: Public Function GetKPI(ByVal currentValue As Integer,ByVal type As String) As String
Select currentValue
Case 1
Return type &"2"
Case 0
Return type &"1"
Case -1
Return type &"0"
End Select End Function 自定义函数通过从Cube中读取的状态和趋势值,在图像的属性Value中设置 =code.GetFace(Fields!Product_Gross_Profit_Margin_状态_.Value,"cyl") 来获取图标的文件名,其中,type是图标的类型。这样,我们可以自定义这些图标,同时,图标也可以是Flash。