ページレポートまたはRDLレポートでは、式でカスタムコードを使用して、レポートの機能を拡張することができます。複雑な関数やレポートで何回も使用したい関数の場合には、レポートへコードを組み込むことも可能です。また、コードを含めるカスタムアセンブリを作成し、複数のレポートから使用することもできます。
プロジェクトにページレポート/RDLレポートのテンプレートを追加し、スクリプトタブに以下のようなコードを追加します。
コントロールのプロパティから関数を呼び出す
単一のメソッドのコードブロックの簡単な例です。
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 = 143.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 static
と記載されているメンバ、 Visual BasicアセンブリでPublic Shared
と記載されているメンバ)にアクセスする方法:=Namespace.Class.Member
=Code.InstanceName