来自报告功能的SSRS参考报告变量

时间:2016-11-17 00:48:07

标签: function reporting-services reference

在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

1 个答案:

答案 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

From an MSDN blog:

  

假设您已创建名为“Reportvariable1”的报告变量。

     

您只需要一段自定义代码。

     

Public Function SetVariableValue(val as Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.Variable)

     

val.Value = val.Value + 2

     

结束功能

     

就这么简单。我在函数中所做的就是,获取报表变量引用,将2添加到现有值。就是这样。

     

如何从报告项目中调用此功能?

     

= Code.SetVariableValue(变量!Reportvariable1)

     

这将是神奇的。另请注意,在上面的表达式中,我只是传递变量引用而不是它的值。