在页报表或 RDL 报表中,可以在表达式中使用自定义代码来扩展报表的功能。但是,对于复杂函数或计划在报表中多次使用的函数,您还可以在报表中嵌入代码。还可以为要在多个报表中使用的代码创建和维护自定义程序集,并在表达式中引用其方法。
将页面报表/RDL
报表模板添加到项目中,并在出现的 ActiveReports
设计器中,在“脚本”选项卡中添加如下所示的代码。
这是单个方法代码块的简单示例:Public Function GetDueDate() as Date
Return DateTime.Now.AddDays(30)
End Function
这是一个表达式,用于从控件的属性调用代码块中的方法。例如,可以在
Textbox 控件的 Value 属性中调用此函数:=Code.GetDueDate()
下面是如何在代码块中定义自定义常量和变量的简单示例:Public Dim MyVersion As String = "123.456"
Public Dim MyDoubleVersion As Double = 123.456
Public Const MyConst As String = "444"
这是一个表达式,用于在控件属性中的代码块中使用自定义常量和变量。例如,可以在 Textbox
控件的 Value 属性中获取变量或常量的值:=Code.MyVersion=Code.MyDoubleVersion
=Code.MyConst
下面是全局集合代码块的简单示例,其中代码块引用报表对象以访问报表参数值:Public Function ReturnParam() As String
Return "param value = " +
Report.Parameters!ReportParameter1.value.ToString()
End
Function
这是一个表达式,用于从控件的属性调用代码块中的全局集合。例如,可以在 Textbox
控件的 Value 属性中调用全局集合:=Code.ReturnParam()
以代码块的形式使用基于实例的 Visual Basic .NET 代码。可以在代码块中包含多个方法,并从控件属性中的表达式访问这些方法。
可以在 C# 或 Visual Basic .NET 中创建自定义程序集,以使代码可用于多个报表:

public
staticPublic
Shared=Namespace.Class.Member
=Code.InstanceName