ActiveReports通信

.NET帳票開発ツール ActiveReports の技術情報をお届けします。

ActiveReports これ知ってる?-第2回:ページレポートから共通処理を呼び出す方法-

今回はページレポートで外部DLLを参照し、その機能を呼び出す方法を紹介します。

f:id:ComponentOne_JP:20170721111030p:plain

 
コード形式のセクションレポートを使用する際、書式設定や計算処理は共通クラスに記述し、各レポートから呼び出す実装をすることも多いかと思います。
 
XML形式のページレポートの場合、一見こういった実装方法はできないように思えますが、実は、カスタムアセンブリを作成して参照に追加することで、ページレポートからも共通処理を呼び出すことができるのです。
 
参照の追加はとっても簡単。レポートダイアログの[参照]からDLLを追加し、レポート内で利用するクラス名とインスタンス名を登録するだけです。手順の詳細は製品ヘルプの「スクリプトの使用」トピックをご覧ください。
 
参照を追加したアセンブリ内のコードは、式やスクリプトから利用可能です。たとえば、名前空間"CustomAssembly"のクラス"CustomClass"に定義されたFormat関数を使用してデータフィールドを整形する場合、コントロールのValueプロパティに以下のように記述します。
=CustomAssembly.CustomClass.Format(Fields!Amount.Value)
なお、上記のように記述できるのはスタティックメンバに限られますが、クラスインスタンスを追加し、インスタンスメンバにアクセスすることも可能です。インスタンス名を"myCustomClass"とした場合は、以下のように記述します。
=Code.myCustomClass.Format(Fields!Amount.Value)
カスタムアセンブリを使用することで同じ処理を複数のレポートに記述する必要がなくなり、管理がより楽になります。ぜひお試しください。
 
この記事はグレープシティが発行するメールマガジン「ActiveReports通信」の第13号(2016年8月発行)に掲載された記事を、加筆修正して転載したものです。