PowerTools ActiveReports for .NET 9.0J > ActiveReportsユーザーガイド > 概念 > セクションレポートの概念 > セクションレポートのレポートコントロール > SubReport |
セクションレポートのSubReportコントロールを使用して、レポートに任意の子レポートを組み込むことができます。レポートにサブレポートコントロールを配置して、ロードするレポートのインスタンスをコード内に作成し、レポートのオブジェクトをサブレポートに関連付けるコードを追加します。
さらに、親レポートに関連するデータをサブレポートの各インスタンスに表示するため、親レポートからサブレポートにパラメータを渡すことも可能です。
2つ目のレポートを実行して、それを1つ目のレポートに埋め込む処理には高いオーバーヘッドがあるので、このような場合には一般的にサブレポートを使用する方法が最適です。サブレポートは、以下のような場合に活用できます。
サブレポートは親レポートの中に描画されるため、印刷されたページの任意の要素から切り離されています。従って、ページ依存の機能がサブレポートの場合はサポートされていません。このようなロジックはすべて親レポート内に保持する必要があります。サブレポートでサポートされていないページ依存の概念を以下に示します。
親レポートのReportStartイベントを使用してSubReportコントロールのレポートのインスタンスを作成して、ReportEndイベント内で解放します。このように、親レポートを実行すると1つのサブレポートのインスタンスのみが作成されます。
当該セクションのFormatイベントで、サブレポートコントロールにレポートオブジェクトを関連付けるために、サブレポートコントロールのReportプロパティを使用します。
注意 : Formatイベントでサブレポートを初期化することは推奨されません。これは、セクションが処理されるときに、毎回サブレポートの新しいインスタンスを作成するためです。また、特に大量のデータを処理するレポートの場合はメモリと処理時間が多く消費されます。 |
主なプロパティ
プロパティ | 解説 |
---|---|
CanGrow | コントロールの内容に合わせて、コントロールの高さを拡大するかどうかを判定します。 |
CanShrink | フィールドの値に合わせて、フィールドの高さを縮小するかどうかを決定します。 |
CloseBorder | デフォルト設定では、コントロールの下部の罫線はサブレポートの末尾までは描画されません。このプロパティをTrueに設定して各ページの下部に描画します。(コードでのみ使用可能) |
Report | コントロールにレポートオブジェクトを関連付けます。(コードでのみ使用可能) |
レポート上のコントロールを選択した状態で、[プロパティ]ウインドウの下部にあるコマンドから「プロパティ設定ダイアログ」をクリックしてダイアログを開きます。
[全般]
[名前]: レポートに使用されていないSubReportのユニークな名前を入力します。この名前はドキュメントの要素およびXML出力で表示します。
[タグ]: コントロールに付随する文字列を入力します。コード上でこのプロパティをアクセスするとオブジェクトとして認識されていますが、[プロパティ]ウィンドウまたは[プロパティ設定ダイアログ]では文字列となります。
[表示する]: コントロールを非表示にするには、このチェックボックスを外します。
[サブレポートの名前]: このプロパティは、特定の機能を持たない参照用のプロパティですが、RPXレポートファイルへのパスまたは相対パスを格納してそれをコードから読み込む場合に役立ちます。
[書式]
[コントロールに合わせて拡大する]: CanGrowプロパティを「False」に設定する場合このチェックボックスをクリアします。
[コントロールに合わせて縮小する]: CanShrinkプロパティを「False」に設定する場合このチェックボックスをクリアします。