3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(.Net)ActiveReports でレポートクラスを継承する

.Netで定番の帳票ツール ActiveReporst を使った開発を始めたのでそのメモです。

新しく使うツールは覚えるのがちょっと大変。。

今回、帳票名やページ番号等はすべての帳票で共通にしたかったので、レポートの継承を使うことにしました。

まず、基本となるレポートクラス( BaseReportクラス )を作ります。

このレポートのページヘッダに帳票名や、印刷者情報、ページフッタに、ページ番号や印字日時を表示させます。

その後、BaseReport クラスを継承して、実際の帳票データを作成するサブクラスを作ります。

レポートクラスで、継承を許可するには、MasterReport プロパティを True にします。

その後、新しい ActiveReports クラスをプロジェクトに追加し、コードから継承元を DataDynamics.ActiveReports.ActiveReport3 から、BaseReport に変更します。

新しく追加したサブクラスはなぜか MasterReport プロパティを True でデザイナが触れなかったので、このプロパティを False にします。

これで、一旦デザイナ閉じて、リビルド後再度開くと詳細セクションがデザイナで編集可能になります。

しかし、継承すると、サブクラスで触れるのは詳細、グループセクションだけなんですよね。

こうなると、帳票毎に異なるページヘッダを出すことができません。

ということで、グループヘッダをページヘッダの代わりに使うことにしました。

その方法は次回です。