本サンプルでは、CrossSectionコントロールを使用して表形式のレポートを作成する方法を紹介します。また、表形式のレポートを作成する場合に、関連するプロパティを使用したの例(空行の出力、合計の出力位置の変更)を紹介します。
フォルダ
Visual Basic.NET
<User Folder>\ActiveReportsNET16\Samples\API\Section\CrossSectionControls\VB.NET
C#
<User Folder>\ActiveReportsNET16\Samples\API\Section\CrossSectionControls\C#
実行時の機能
本サンプルでは、3つのタブオプションが表示されます。フォームの下側に配置されている各タブをクリックすることで、それぞれの機能を使用したレポートを表示します。
CrossSectionコントロール
CrossSectionBoxおよびCrossSectionLineコントロールを使用して、表スタイルの罫線を描画します。これにより、複数のセクションにまたがっても隙間が発生しません。
RepeatToFillプロパティ
DetailセクションのRepeatToFillプロパティをTrueに設定することにより、空行を出力します。
PrintAtBottomプロパティ
グループフッタセクションのPrintAtBottomプロパティをTrueに設定することにより、グループフッタの描画位置をページフッタの直前に設定しています。
メモ: サンプルを実行するには、NorthWindデータベース(..\Samples\Data\Nwind.mdb)へのアクセス権限が必要です。サンプルでデータファイルにアクセスできない場合は、上記フォルダを作成して各データファイルをその中に配置するか、またはお客様の環境に合わせてフォルダ内のデータファイルへの参照パスを変更してください。
プロジェクトの構造
ViewerForm
Invoiceレポート
PageHeaderセクション
Shape、Label、およびTextBoxコントロールを配置しています。Shapeコントロールを使用して、「受注コード」および「受注日」の枠線を描画します。また、日付形式で表示するために、orderDateTextBoxのOutputFormatプロパティに「d」を設定しています。
customerGroupHeaderセクション
CrossSectionBoxおよびCrossSectionLineコントロールは、実行時にDetailsセクションをまたがり、対となるGroupFooterセクションまで描画されます。
「出荷先」および「請求先」のTextBoxコントロールには、計算フィールドを設定しています。
なお、各受注毎に表示するため、グループヘッダセクションのDataFieldプロパティをOrderIDフィールドに設定しています。
Detailセクション
TextBoxコントロールを使用してグループ化されたデータを表示します。また、「単価」および「合計」を表示するTextBoxのOutputFormatプロパティには、通貨形式を示す「C」を設定しています。
また、セクションのFormatイベントを使用して、隔行で背景色を変更しています。詳細については、コードを参照してください。
customerGroupFooterセクション
受注コード別にページを作成するため、セクションのNewPageプロパティをAfterに設定しています。
また、「小計」を表示するTextBoxコントロールでは、以下のプロパティを設定しています。
なお、customerGroupFooterのFormatイベントでは、「合計」の値を計算し、通貨形式にフォーマットしています。
PageFooterセクション
ReportInfoコントロールを使用して、ページ数を表示しています。