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