PowerTools ActiveReports for .NET 11.0J
マスターレポート(RDLレポートのみ)
すべて展開すべて展開
すべて折りたたむすべて折りたたむ

マスターレポートはコンテンツレポートを読み込むように設計することのできる動的なテンプレートのようなものです。これは、ページのヘッダにあるロゴやフッタにあるWebサイトへのリンクといった共通要素を複数のレポートで共有する場合に便利です。マスターレポートは、コントロール、コード、データソース、あるいはレイアウト系の各種プロパティを使用して設計することができます。これらはコンテンツレポートから変更することはできません。

マスターレポートは、レポートが実行されるたびにロードされるという点でテンプレートとは異なります。したがって、マスターレポートを変更すると、そのマスターレポートを参照するすべてのレポートに変更が自動的に適用されます。

ActiveReportsは、Visual Studioデザイナ上、あるいはActiveReportsエンドユーザーデザイナコントロール上で操作をしながら、ActiveReports Server上にあるサーバー共有マスターレポートを保存・実行する機能も提供しています。サーバー共有マスターレポートとは、ActiveReports ServerのインスタンスにホストしたRDLXマスターレポート(RDLX-マスターファイル書式)のことです。マスターレポートをサーバー上に保存してコンテンツレポートの作成に使用すると、ActiveReportsはそのレポートをリモートレポートとして自動表示します。レポートメニューの[マスターレポートの設定][サーバーから開く]オプションを使用して、サーバー上にあるマスターレポートを設定することができます。

メモ: 共有マスターレポートはActiveReports Professionalの機能です。Standardで使用することはできません。

マスターレポートの利点

サーバー共有マスターレポートの利点

サーバー共有マスターレポートには、ローカルマスターレポートと同じ利点のほかに以下の利点があります。

マスターレポートの設計

マスターレポートを設計するときは、コントロール、コード、データソース、レイアウト系の各種プロパティを通常のレポートと同じように使用します。マスターレポートは単独でも有効であり、コンテンツレポートなしでも実行可能です。エンドユーザーがマスターレポートを変更できないようにするには、そのユーザー、またはグループに対して当該ファイルのパーミッションを[読み取りのみ]に設定します。

マスターレポートはRDLレポートでのみ利用可能であり、テンプレートのようにコンテンツレポートに適用できるRDLX-masterファイル形式に変換されます。

ContentPlaceHolderコントロールは、RDLレポートをマスターレポートに変換するとツールボックスに表示されます。このコントロールは、マスターレポートテンプレートを適用した後にコンテンツレポートの作成、または設計に使用する領域を提供します。

メモ: セクションレポート(コードレポート)にもマスターレポートと似たような概念があります。ただしそこでは、他のレポートが継承する基本レポートクラスを標準レポートに作成します。詳細については「レポートテンプレートの継承」を参照してください。

コンテンツレポートの作成

マスターレポートを適用する対象のレポートのことをコンテンツレポートと呼びます。コンテンツレポートは単独では無効であり、指定したマスターレポートなしに実行することができません。

ユーザーが新しいレポートを作成し、そのレポートに対してマスターレポートを設定すると、コンテンツレポートの設計画面に切り替わります。また、ContentPlaceHolderコントロールで覆われたレポートコントロールは、コンテンツレポートの設計時には見えませんが、実行時には表示されることに注意してください。ContentPlaceHolderコントロールは、ユーザーがレポートコントロールを追加することのできる唯一の領域です。

コンテンツレポートの設計時にユーザーができること

コンテンツレポートの設計時にユーザーができないこと

実行時のイベントの順序

コンテンツレポートを実行するとき、その背後では以下の処理が行われます。

  1. ActiveReportsがコンテンツレポートをロードします。
  2. ローダーがコンテンツレポートのマスターレポートタグを解析し、リソースリゾルバーにマスターレポートを要求します。
  3. マスターレポートが定義にロードされます。
  4. コンテンツレポートの各ContentPlaceHolderが解析されると、そのたびにマスターレポート内の対応するプレースホルダが特定され、コンテンツレポートの内容がそのプレースホルダに読み込まれます。
  5. データソース、データセット、およびフィールドがマージされます。競合がある場合はマスターレポートが優先されます。
  6. テーマがマージされます。競合がある場合はマスターレポートの方が優先されます。
  7. コンテンツレポートのレポートプロパティが、マスターレポートのレポートプロパティに追加されます。以下のプロパティについては、競合がある場合はコンテンツレポートが優先されます。
    • Report Description
    • Report Author
    • Report AutoRefresh
    • Report Custom
    • Report Language
    • Report DataTransform
    • Report DataSchema
    • Report ElementName
    • Report DataElementStyle
    • データセットのフィルタ
    • Report Theme
    • Report Code
    • ContentPlaceHolderコントロール内にあるすべてのコンテンツ

集約されたレポート定義の変更

コンテンツレポートを実行すると、コンテンツレポートとそのマスターを組み合わせて集約したレポート定義が作成されます。ReportDefinition APIを使用して、実行時にこの集約結果を、マスターレポートもコンテンツレポートも持たない3番目のレポート定義として保存することができます。集約結果を通常のレポート定義(*.rdlxファイル)として保存した後、そのファイルを他のレポート定義と同様に編集することができます。

関連トピック

 

 


©2003-2017 GrapeCity inc. All rights reserved.