PowerTools ActiveReports for .NET 9.0J > ActiveReportsユーザーガイド > 概念 > ページレポート/RDLレポートの概念 > マスターレポート(RDLレポートのみ) |
マスターレポートは動的なテンプレートのようなもので、コンテンツレポートを読み込むように設計できます。これは、ページのヘッダにあるロゴやフッタにあるWebサイトへのリンクといった共通要素を複数のレポートで共有する場合に便利です。マスターレポートは、コントロール、コード、データソース、レイアウトプロパティを使用して設計できます。これらはコンテンツレポートからは変更できません。
マスターレポートは、レポートが実行されるたびにロードされるという点で、テンプレートとは異なります。したがって、マスターレポートを変更すると、そのマスターレポートを参照するすべてのレポートに変更が自動的に適用されます。
マスターレポートを設計するときは、コントロール、コード、データソース、レイアウトプロパティを通常のレポートと同じように使用します。マスターレポートは単独でも有効であり、コンテンツレポートなしで実行できます。エンドユーザーがマスターレポートを変更できないようにするには、そのユーザーまたはグループに対して当該ファイルのパーミッションを読み取りのみに設定します。
マスターレポートはRDLレポートでのみ利用可能であり、テンプレートのようにコンテンツレポートに適用できるRDLX-masterファイル形式に変換されます。
ContentPlaceHolderコントロールは、RDLレポートをマスターレポートに変換するとツールボックスに表示されます。このコントロールは、マスターレポートテンプレートを適用した後にコンテンツレポートの作成または設計に使用する領域を提供します。
メモ: セクションレポート(コードレポート)にもマスターレポートと似たような概念があります。ただしそこでは、他のレポートが継承する基本レポートクラスを標準レポートに作成します。詳細については、レポートテンプレートの継承を参照してください。 |
マスターレポートを適用する対象のレポートのことをコンテンツレポートと呼びます。コンテンツレポートは単独では無効であり、指定したマスターレポートなしでは実行できません。
ユーザーが新しいレポートを作成し、そのレポートに対するマスターレポートを設定すると、設計画面は実質的にマスターレポートの設計画面の正反対になります。ContentPlaceHolderコントロールで覆われたレポートコントロールは、コンテンツレポートの設計時には見えませんが、実行時には表示されることに注意してください。ContentPlaceHolderコントロールは、ユーザーがレポートコントロールを追加できる唯一の領域です。
コンテンツレポートの設計時にユーザーができること
コンテンツレポートの設計時にユーザーができないこと
メモ: マスターレポートに含まれるコードは、コンテンツレポートからは見えません。そのため、コンテンツレポートのユーザーがコードを利用できるようにするには、マスターレポートの作成者が情報を提供する必要があります。 |
コンテンツレポートを実行するとき、その背後では以下の処理が行われます。
コンテンツレポートを実行すると、コンテンツレポートとそのマスターを組み合わせて集約したレポート定義が作成されます。ReportDefinition APIを使用して、実行時にこの集約結果を、マスターレポートもコンテンツレポートも持たない3番目のレポート定義として保存できます。集約結果を通常のレポート定義(*.rdlxファイル)として保存した後、そのファイルを他のレポート定義と同様に編集できます。