PowerTools ActiveReports for .NET 9.0J > ActiveReportsユーザーガイド > 基本操作 > セクションレポートの基本操作 > レポートテンプレートの継承 |
セクションレポートでは、基本クラスを作成し、そのレポートを他のレポートが継承できるテンプレートとして使用できます。各レポートに共通する機能(例えば、同一のページヘッダとフッタ)を実装する場合は、共通項目を親レポートに作成し、他のレポートに継承します。継承の方法には、レポートのヘッダやフッタなどのレイアウト部分を継承する「レポート設計時の継承」と、レポートの処理コード部分を継承する「レポート実行時の継承」の2通りが存在します。
各レポートに共通するプロパティやメソッドを実装した基本クラスを作成し、このクラスを継承することができます。詳細については、「継承 サンプル」を参照してください。
設計時にレポートを継承する方法を示します。ここでは、親レポート(BaseReport)と親レポートを継承した子レポート(DerivedReport)の2つをプロジェクトに追加しています。以下の手順により、親レポートのページヘッダとページフッタのデザイン情報が、子レポートに引き継がれることを確認できます。
注意:
|
BaseReportに追加するコントロール
コントロール | セクション | Location | Size | その他 |
---|---|---|---|---|
Picture | PageHeader | 0, 0 in | 3, 0.65 in | Image = (<...>をクリックし、画像へのパスを参照します。) PictureAlignment = TopLeft |
Label | PageHeader | 1.16, 0.65 in | 1.8, 0.25 in | Text = テンプレートの継承 Font = MS ゴシック、15pt、 style=Bold |
Label | PageFooter | 0, 0 in | 6.5, 0.19 in | Text =http://www.grapecity.com/jp HyperLink = http://www.grapecity.com/jp Font/Bold = True Alignment = Center |
親レポートは、ページヘッダおよびページフッタセクションを編集できます。一方、親レポートを継承する子レポートを作成する場合は、Detailセクションのみ編集できます。
注意: 親レポートの設計が完了するまでは、MasterReportプロパティを「True」に設定しないでください。このプロパティをTrueに設定すると、レポートのデザイナファイルが変更されます。 |
次の手順は、もう1つのセクションレポート(コード)テンプレートを既に追加したことを前提にしています。このレポートは、Detailセクションのレイアウトを作成するコンテンツレポートのように動作します。
注意: 親レポートを継承すると、子レポート内の既存のレイアウトが失われます。GrapeCity.ActiveReports.SectionReportに戻しても、レポート内の元のレイアウトを取得できませんので、注意してください。 |
Visual Basic
Visual Basicコード(コード内のYourProjectNameを変更してください。) |
コードのコピー
|
---|---|
Partial Public Class DerivedReport Inherits YourProjectName.BaseReport |
C#
C#コード(コード内のYourProjectNameを変更してください。) |
コードのコピー
|
---|---|
public partial class DerivedReport :YourProjectName.BaseReport |
メモ: 親レポートの変更を子レポートに反映するためには、プロジェクトをリビルドする必要があります。 |