在SSRS中,是否可以从报告函数中引用报告变量?
以下是我的报告功能。我不是在函数中声明和设置MaxRFWIDRange,而是引用具有相同名称的报表变量。
Function ValidateRFWIDRange(FromRFW As Integer, ToRFW As Integer) As Boolean
Dim DiffRFW As Integer
Dim MaxRFWIDRange As Integer
MaxRFWIDRange = 10000
DiffRFW = ToRFW - FromRFW
If DiffRFW > MaxRFWIDRange Then
Return False
Else
Return True
End if
End Function
答案 0 :(得分:3)
看起来你可以这样做。
我通过向报表添加变量TestVariable
来测试此项,然后添加以下自定义代码:
Function TestVariableFunctionality(var as Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.Variable) As String
Return var.Value
End Function
我从文本框中调用了函数,如下所示:
=Code.TestVariableFunctionality(Variables!TestVariable)
这会将文本框中变量的值作为字符串输出。
您必须将完整命名空间声明为Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.Variable
,因为未定义Variable
。有关详细信息,请参阅下文。
Accessing variable in SSRS function
假设您已创建名为“Reportvariable1”的报告变量。
您只需要一段自定义代码。
Public Function SetVariableValue(val as Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.Variable)
val.Value = val.Value + 2
结束功能
就这么简单。我在函数中所做的就是,获取报表变量引用,将2添加到现有值。就是这样。
如何从报告项目中调用此功能?
= Code.SetVariableValue(变量!Reportvariable1)
这将是神奇的。另请注意,在上面的表达式中,我只是传递变量引用而不是它的值。