ActiveReports for .NET 18.0J
CrossSectionコントロール サンプル
ActiveReportsユーザーガイド > サンプルとチュートリアル > サンプル > Samples > APIのサンプル > セクションレポートのサンプル > CrossSectionコントロール サンプル

本サンプルでは、CrossSectionコントロールを使用して表形式のレポートを作成する方法を紹介します。また、表形式のレポートを作成する場合に、関連するプロパティを使用したの例(空行の出力、合計の出力位置の変更)を紹介します。

フォルダ

Visual Basic.NET

<User Folder>\ActiveReportsNET18\Samples\API\Section\CrossSectionControls\VB.NET

C#

<User Folder>\ActiveReportsNET18\Samples\API\Section\CrossSectionControls\C#

実行時の機能

本サンプルでは、3つのタブオプションが表示されます。フォームの下側に配置されている各タブをクリックすることで、それぞれの機能を使用したレポートを表示します。 

CrossSectionコントロール
CrossSectionBoxおよびCrossSectionLineコントロールを使用して、表スタイルの罫線を描画します。これにより、複数のセクションにまたがっても隙間が発生しません。

RepeatToFillプロパティ
DetailセクションのRepeatToFillプロパティをTrueに設定することにより、空行を出力します。

PrintAtBottomプロパティ
グループフッタセクションのPrintAtBottomプロパティをTrueに設定することにより、グループフッタの描画位置をページフッタの直前に設定しています。

メモ: サンプルを実行するには、NorthWindデータベース(..\Samples\Data\Nwind.mdb)へのアクセス権限が必要です。サンプルでデータファイルにアクセスできない場合は、上記フォルダを作成して各データファイルをその中に配置するか、またはお客様の環境に合わせてフォルダ内のデータファイルへの参照パスを変更してください。

プロジェクトの構造

ViewerForm

フォームの下側に「CrossSectionコントロール」、「RepeatToFillプロパティ」、「PrintAtBottomプロパティ」の3つのタブが配置されています。

Invoiceレポート

PageHeaderセクション

Shape、Label、およびTextBoxコントロールを配置しています。Shapeコントロールを使用して、「受注コード」および「受注日」の枠線を描画します。また、日付形式で表示するために、orderDateTextBoxのOutputFormatプロパティに「d」を設定しています。

customerGroupHeaderセクション

CrossSectionBoxおよびCrossSectionLineコントロールは、実行時にDetailsセクションをまたがり、対となるGroupFooterセクションまで描画されます。

メモ:CrossSectionBoxおよびCrossSectionLineコントロールをヘッダまたはフッタ以外のセクションに配置しようにすると、マウスポインタが無効となりそのセクションに配置できません。

「出荷先」および「請求先」のTextBoxコントロールには、計算フィールドを設定しています。

ヒント:レポートエクスプローラで[フィールド]ノード -[計算フィールド]ノートを展開すると、計算フィールドの詳細を確認できます。BillingAddressまたはShippingAddressを選択し、[プロパティ]ウインドウでFormulaプロパティを確認します。

なお、各受注毎に表示するため、グループヘッダセクションのDataFieldプロパティをOrderIDフィールドに設定しています。

Detailセクション

TextBoxコントロールを使用してグループ化されたデータを表示します。また、「単価」および「合計」を表示するTextBoxのOutputFormatプロパティには、通貨形式を示す「C」を設定しています。

また、セクションのFormatイベントを使用して、隔行で背景色を変更しています。詳細については、コードを参照してください。

customerGroupFooterセクション

受注コード別にページを作成するため、セクションのNewPageプロパティをAfterに設定しています。

また、「小計」を表示するTextBoxコントロールでは、以下のプロパティを設定しています。

  • DataFieldプロパティ:「Total」計算フィールド
  • SummaryFuncプロパティ:Sum
  • SummaryGroupプロパティ:customerGroupHeader
  • SummaryRunningプロパティ:Group
  • SummaryTypeプロパティ:GrandTotal

なお、customerGroupFooterのFormatイベントでは、「合計」の値を計算し、通貨形式にフォーマットしています。

PageFooterセクション

ReportInfoコントロールを使用して、ページ数を表示しています。

ヒント:レポート内の任意のコントロールを選択するには、レポートエクスプローラで各セクションのノードを展開し選択します。これにより、レポートのデザイナ上で当該コントロールが選択されます。
関連トピック