GrapeCity ActiveReports for .NET 12.0J > ActiveReportsユーザーガイド > サンプルとチュートリアル > サンプル > セクションレポートのサンプル(Standard) > Layout > 年次報告書 サンプル |
本サンプルでは、SubReportコントロールおよびChartコントロールを使用したレポートの作成方法を紹介します。
フォルダ
Visual Basic.NET
<User Folder>\Samples\Section Reports\Layout\AnnualReport\VB.NET
C#
<User Folder>\Samples\Section Reports\Layout\AnnualReport
\C#
実行時の機能
サンプルを実行すると、3ページのレポートが表示されます。最初のページは報告書の表紙、次のページには会社情報およびカテゴリ別の販売金額、そして最後のページにはトップ10の商品および顧客のデータをグラフとともに表示しています。
メインのレポート(AnnualReportレポート)は2つのサブレポート(ProductSalesByCategoryサブレポートおよびTop10サブレポート)から構成されます。また、さらに、Top10サブレポートは2つのサブレポート(Top10CustomersサブレポートおよびTop10Productsサブレポート)から構成されます。
メモ:サンプルを実行するには、NorthWindデータベース(..\Samples\Data\Nwind.mdb)へのアクセス権限が必要です。サンプルでデータファイルにアクセスできない場合は、上記フォルダを作成して各データファイルをその中に配置するか、またはお客様の環境に合わせてフォルダ内のデータファイルへの参照パスを変更してください。 |
プロジェクトの構造
StartupForm
Viewerコントロールを配置しレポートを表示します。コードの詳細を確認するには、フォーム上で右クリックして[コードの表示]オプションを選択します。
AnnualReportレポート
メインのレポートです。
ReportHeaderセクション
ReportHeaderセクションのNewPageプロパティをAfterに設定し、セクション描画後に改ページしています。また、SubReportコントロールを配置し、ReportStartイベントでProductSalesByCategoryサブレポートを設定しています。
ヒント:SubReportコントロールが複数回表示されるセクションに配置されている場合、セクションが描画されるたびにサブレポートが毎回初期化されないように、セクションのFormatイベントではなくReportStartイベントでレポートを初期化することを推奨します。この場合、ReportStartイベントでサブレポートの初期化を行い、セクションのFormatイベントでSubReportコントロールにサブレポートを割り当ててください。 |
Detailセクション
SubReportコントロールを配置し、ReportStartイベントでTop10サブレポートを設定しています。
通常のレポートでは、Detailセクションは複数回実行されますが、本レポートではデータソースに連結されたコントロールが配置されていないため一回しか実行されません。このため、Top10サブレポートの初期化およびSubReportコントロールへのTop10サブレポートの割り当ては、どちらもReportStartイベントで行っています。
ProductSalesByCategoryサブレポート
メインのレポート(AnnualReportレポート)のReportHeaderセクションに配置されているSubReportコントロールに表示されるサブレポートです。
ヒント:本レポートでは、レポートヘッダ/フッタ、およびページヘッダ/フッタセクションを削除しています。サブレポートの場合これらのセクションは表示されないため、削除することで処理時間を減らすことができます。 |
SubReportコントロール内に正しく表示されるよう、PrintWidthプロパティを設定しています。また、データソースの設定やDetailセクションの背景色の変更はコードで設定しています。
Top10サブレポート
メインレポート(AnnualReportレポート)のDetailセクションに配置されているSubReportコントロールに表示されるサブレポートです。
Detailセクションにさらに2つのSubReportコントロールを配置し、ReportStartイベントでTop10CustomersサブレポートおよびTop10Productsサブレポートを設定しています。
Top10Customersサブレポート、Top10Productsサブレポート
Top10サブレポートのDetailセクションに配置されているSubReportコントロールに表示されるサブレポートです。
各レポートのGroupHeaderセクションにChartコントロール、Detailセクションに詳細データを表示するLabelコントロールおよびTextBoxコントロールを配置しています。データソースの設定(レポートおよびグラフ)、Detailセクションの背景色の変更等はコードで設定しています。