GrapeCity ActiveReports for .NET 12.0J > ActiveReportsユーザーガイド > 基本操作 > セクションレポートの基本操作 > レポートテンプレートの継承 |
セクションレポートでは、基本クラスを作成し、そのレポートを他のレポートで継承可能なテンプレートとして使用することができます。各レポートに共通する機能(たとえば、同一のページヘッダとフッタ)を実装する場合は、共通項目を親レポートに作成し、他のレポートに継承します。継承の方法には「レポートデザイン時の継承」と「レポート実行時の継承」の2通りがあります。
下記のふたつのドロップダウンセクション(『親レポートを作成する』、『親レポートのレイアウトを継承する』)で、デザイン時にレポートを継承する方法を示します。ここでは、親レポート(BaseReport)と親レポートを継承した子レポート(DerivedReport)の2つをプロジェクトに追加しています。以下の手順により、親レポートのページヘッダとページフッタのデザイン情報を、子レポートに引き継ぐことができます。
各レポートに共通するプロパティやメソッドを実装した基本クラスを作成し、このクラスを継承することができます。詳細については、「継承 サンプル」を参照してください。
注意:
|
親レポートを作成する
コントロール | セクション | 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 |
注意: 親レポートのデザインが完了するまでは、MasterReportプロパティを「True」に設定しないでください。このプロパティをTrueに設定すると、レポートのデザイナファイルが変更されます。 |
親レポートでは、ページヘッダおよびページフッタセクションを編集することができます。一方、親レポートを継承する子レポートを作成する場合は、Detailセクションのみで編集が可能です。
親レポートのレイアウトを継承する
次の手順は、Visual Studioのプロジェクトにもう1つのセクションレポート(コード)テンプレートを追加したことを前提にしています。このレポートは、Detailセクションのレイアウトを作成するコンテンツレポートのように動作します。
注意: このとき、Visual Basicを使用している場合は、DerivedReport.vbファイルの[コードの表示]ではなく、ソリューションエクスプローラの[すべてのファイルを表示]ボタンをクリックして表示されるDerivedReport.Designer.vb(Partialクラスのファイル)の[コードの表示]を選択してください。 |
Visual Basic
Visual Basicコード(コード内のYourProjectNameを変更してください。) |
コードのコピー
|
---|---|
Partial Public Class DerivedReport Inherits YourProjectName.BaseReport |
C#
C#コード(コード内のYourProjectNameを変更してください。) |
コードのコピー
|
---|---|
public partial class DerivedReport :YourProjectName.BaseReport |
注意: 親レポートを継承すると、子レポート内の既存のレイアウトが失われます。GrapeCity.ActiveReports.SectionReportに戻しても、レポート内の元のレイアウトを取得できませんので、注意してください。 |
メモ: 親レポートの変更を子レポートに反映するためには、プロジェクトをリビルドする必要があります。 |