FlexReport for WPF
サブレポートフィールド
フィールドとカスタムフィールド > サブレポートフィールド

サブレポートフィールドは、レポートにサブレポートを挿入するために使用されます。サブレポートは、別のレポート(メインレポート)のフィールド内に配置された通常のレポートです。サブレポートは、通常、メインレポート内の現在の値に基づく詳細情報をマスター/詳細関係として表示する目的で設計されます。

次の例では、メインレポートにはカテゴリが表示され、詳細セクション内のサブレポートには現在のカテゴリに対する製品の詳細が表示されます。

Categories テーブルと Products テーブルに基づくマスター/詳細レポートを作成するには、カテゴリレポート(マスタービュー)と製品レポート(詳細ビュー)を作成する必要があります。

手順 1:マスターレポートの作成

  1. FlexReport ウィザードを使用して、基本レポート定義を作成します。
    1. Northwind データベース(ComponentOne Samples\Common フォルダの C1NWind.mdb)から Categories テーブルを選択します。
    2. レポートに CategoryName および Description フィールドを挿入します。
  2. C1FlexReportDesigner アプリケーションで、[設計]ボタンをクリックして、レポートの編集を開始します。
  3. ページヘッダーおよびヘッダーセクションの Visible プロパティを False に設定します。
  4. 詳細セクションで、DescriptionCtl を選択し、それを CategoryNameCtl の真下に移動します。
  5. プロパティペインを使用して、外観の設定(Background)を変更します。
  6. [プレビュー]ボタンを選択すると、カテゴリレポートは次の図のように表示されます。

手順 2:詳細レポートの作成

  1. C1FlexReportDesigner アプリケーションで[新しいレポート]ボタンをクリックし、FlexReport ウィザードを使用して基本レポート定義を作成します。
    1. C1NWind データベースから Products テーブルを選択します。
    2. レポートに、ProductNameQuantityPerUnitUnitPriceUnitsInStock、および UnitsOnOrder フィールドを挿入します。
  2. Report Designer で、[設計]ボタンをクリックして、レポートの編集を開始します。
    1. ページヘッダーおよびヘッダーセクションの Visible プロパティを False に設定します。
    2. 詳細セクションで、ヘッダーのラベルに合わせてコントロールを配列します。プロパティペインを使用して、外観の設定を変更します。

手順 3:サブレポートフィールドの作成

現在、C1FlexReportDesigner アプリケーションには、Categories ReportProducts Report の 2 つのレポートがあります。次の手順では、サブレポートを作成します。

  1. Designer の[レポート]リストから、[Categories Report](マスターレポート)を選択します。
  2. 設計モードで、[挿入]タブの[フィールド]グループから[サブレポート]アイコンをクリックし、ドロップダウンメニューから[Products Report]を選択します。
  3. レポートの詳細セクションで、マウスポインタをクリックおよびドラッグして、サブレポートのフィールドを作成します。

手順 4:サブレポートとマスターレポートのリンク

マスター/詳細関係は、サブレポートフィールドの SubreportFilter プロパティで制御します。このプロパティには、フィルタ条件として評価されてサブレポートのデータソースに適用できる式を設定する必要があります。

Report Designer では、この式を自動的に作成できます。次の手順を実行します。

  1. サブレポートフィールドを右クリックし、メニューから[サブレポートのリンク]を選択します。
        

    [サブレポートのリンク]ダイアログボックスが表示されます。ここで、リンク先のフィールドを選択できます。

        

    設計領域のサブレポートフィールドは次のように表示されます。

  2. フィールドを選択して[OK]をクリックすると、Report Designer はリンク式を作成し、その式をサブレポートフィールドの SubreportFilter プロパティに割り当てます。この例では、式は次のようになります。
    "[CategoryID] = '" & [CategoryID] & "'"