In a page report or a RDL report, you can use custom code in your expressions to extend the capabilities of your report. However, for complex functions, or functions you plan to use many times in the report, you also have the facility to embed the code within the report. You can also create and maintain a custom assembly for code that you want to use in multiple reports and refer to its methods in expressions.
Add a page report/RDL report template to your project and in the ActiveReports Designer that appears, add code like the following in the Script tab.
To call a function from the control's property
This is a simple example of a single method code block:
Public Function GetDueDate() as Date
Return DateTime.Now.AddDays(30)
End Function
This is an expression used to call the method in the code block from the control's property. For example, you can call this function in the Value property of the Textbox control:
=Code.GetDueDate()
To use the custom constant and variable from the control's property
This is a simple example of how to define custom constants and variables in your code block:
Public Dim MyVersion As String = "123.456"
Public Dim MyDoubleVersion As Double = 123.456
Public Const MyConst As String = "444"
This is an expression to use the custom constant and variable in the code block from the control's property. For example, you can get the value of a variable or a constant in the Value property of the Textbox control:
=Code.MyVersion
=Code.MyDoubleVersion
=Code.MyConst
To call a global collection from the control's property
This is a simple example of a global collection code block where the code block references the report object to access the report parameter value:
Public Function ReturnParam() As String
Return "param value = " + Report.Parameters!ReportParameter1.value.ToString()
End Function
This is an expression used to call a global collection in the code block from the control's property. For example, you can call the global collection in the Value property of the Textbox control:
=Code.ReturnParam()
Use instance-based Visual Basic .NET code in the form of a code block. You can include multiple methods in your code block, and access those methods from expressions in the control properties.
You can create custom assemblies in C# or Visual Basic .NET to make code available to multiple reports:
public static
in C# assemblies, or as Public Shared
in Visual Basic assemblies):=Namespace.Class.Member
=Code.InstanceName