ActiveReports for .NET 18.0J
再帰型階層のレポート
ActiveReportsユーザーガイド > サンプルとチュートリアル > チュートリアル > ページレポート/RDLレポートのチュートリアル > レイアウト > 再帰型階層のレポート

再帰型階層とともにLevel関数を使用することで、データで親子関係を示すレポートを作成することができます。このチュートリアルでは、再帰型階層の作成方法を紹介します。

このトピックでは、以下のタスクを行います。

メモ:

チュートリアルを完了すると、次のようなレポートが作成されます。

デザイン時のレイアウト

実行時のレイアウト

Visual StudioプロジェクトにActiveReportsを追加する

  1. Visual Studioで新規プロジェクトを開きます。
  2. [プロジェクト]メニューから[新しい項目の追加]を選択します。
  3. [新しい項目の追加]ダイアログでActiveReports 18.0Jページレポート]を選択し、ファイル名を「rptRecursiveHierarchy」に変更します。
  4. [追加]ボタンをクリックします。

詳細については、「クイックスタート」を参照してくだざい。

レポートをデータソースに接続する

  1. レポートエクスプローラで、[データソース]ノードを右クリックして、[データソースの追加]オプションを選択するか、[追加](+)ボタンから[データソース]を選択します。
  2. [レポートデータソース]ダイアログ[全般]ページを選択し、名前を「ReportData」に変更します。
  3. このページでは、Reelsデータベースに接続します。詳細については、「データソースとの接続」を参照してくだざい。

パラメータ値のためにデータセットを作成する

  1. レポートエクスプローラ]で[データソース]のノードを右クリックし、[データセットの追加]のオプションを選択するか、[追加](+)ボタンから[データセット]を選択します。
  2. [データセット]ダイアログ[全般]ページを選択し、[名前]フィールドに「Stores」と入力します。この名前は[レポートエクスプローラ]で、追加したデータソースの子ノードとして表示されます。
  3. [データセット]ダイアログの[クエリ]ページで、[クエリ]フィールドに次のSQLクエリを入力します。
    SQLクエリ
    コードのコピー
    SELECT StoreID FROM Store
    
  4. クエリボックスの横にある[データセットの検証]アイコンをクリックし、クエリを検証します。
  5. [OK]をクリックしてダイアログを閉じます。データセットとクエリフィールドは、レポートエクスプローラのノードとして表示されます。

レポートのパラメータを追加する

  1. レポートエクスプローラ]で[データソース]ノードを右クリックして、[パラメータの追加]オプションを選択するか、[追加](+)ボタンから[パラメータ]を選択します。
  2. [レポート - パラメータ]ダイアログで以下の値を設定します。

    [全般]タブ

    • 名前: StoreID
    • データタイプ: Integer
    • パラメータ入力ダイアログに表示する文字列: 商店番号を選択してください。

    [使用できる値]タブでは[クエリから値を取得]を選択します。

    • データセット: Stores
    • 値: StoreID
    • ラベル: StoreID
  3. OK]をクリックしてダイアログを閉じると、[レポートエクスプローラ][パラメータ]のノードの下にパラメータが追加されます。

レポートにデータセットを追加する

  1. レポートエクスプローラ]で[データソース]ノードを右クリックし、[データセットの追加]を選択します。
  2. [データセット]ダイアログ」で[全般]のページを選択し、[名前]Employeesに変更します。この名前は[レポートエクスプローラ]で、追加されたデータソースの子ノードとして表示されます。
  3. [パラメータ]ページで、パラメータを追加し、以下のプロパティを設定します。
    • [名前]=@StoreID
    • [値]=Parameters!StoreID.Value
  4. このダイアログの[クエリ]ページで[指定方法]「StoredProcedure」に変更し、クエリのテキストボックスに以下のStoredProcedureクエリを入力します(「?」はパラメータを示します)。
    StoredProcedureクエリ
    コードのコピー
    EmployeesForStore ?
    
  5. [データセットの検証]アイコンをクリックし、クエリを検証します。
  6. [OK]をクリックしてダイアログを閉じます。データセットとクエリフィールドは、[レポートエクスプローラ]のノードとして表示されます。

レポートのレイアウトを作成する

  1. Visual Studioのツールボックスからレポートのデザイナ面上にTableデータ領域をドラッグし、[ プロパティ] ウィンドウから以下のプロパティを設定します。
    プロパティ名 プロパティの値
    Location 0in, 0in
    DataSetName Employees
    FixedSize 6.5in, 9in
  2. テーブル内をクリックし、左端と上端に列と行のハンドルを表示します。
  3. 列の上端にあるグレーの列ヘッダをクリックして列を選択します。各列のWidthプロパティを次のように設定します。
    プロパティ名
    1番目の列 2.2in
    2番目の列 1.5in
    3番目の列 1.05in
  4. 3番目の列の上にあるグレーのハンドルを右クリックし、[右に列を挿入]を選択します。
  5. 4番目の列を選択し、Widthプロパティを「1.75inに設定します。
    ヒント: レポートの幅が変更されないように、列を追加する前に、デザイナ面にあるテーブルの列の幅を調整してください。
  6. レポートエクスプローラ]でEmployeesデータセットから次のフィールドをテーブルの詳細行にドラッグします。
    データフィールド 列名
    Title TableColumn1
    LastName TableColumn2
    Supervisor TableColumn3
    Department TableColumn4
  7. 詳細行の2番目の列にある[LastNameフィールドを選択し、[プロパティ]ウィンドウから、Valueプロパティを=Fields!LastName.Value & " " & Fields!EmployeeID.Valueに設定します。これは各社員の「名字」と「社員番号」を表示します。
  8. ヘッダ行の2番目の列の静的なラベルを選択し、[プロパティ]ウィンドウからValueプロパティを「名字とID」に設定します。
  9. 詳細行の3番目の列の[Supervisor]フィールドを選択し、[プロパティ]ウィンドウからTextAlignプロパティをCenterに設定します。
  10. 詳細行の3番目の列の静的なラベルを選択し、[プロパティ]ウィンドウからValueプロパティを「管理者ID」に設定します。
  11. ヘッダ行の左端にある行ハンドルをクリックし、[プロパティ]ウィンドウから以下のプロパティを設定します。
    プロパティ名 プロパティの値
    TextAlign Center
    FontWeight Bold
    BackgroundColor DarkSlateBlue
    Color White
  12. ヘッダ行を選択し、[プロパティ]ウィンドウからBorderStyleプロパティをSolidに設定します。
  13. ヘッダ行の左端にある行ハンドルを右クリックし、[上に行を挿入]を選択します。
  14. [Ctrl]キーを押しながら、新しく追加した行の各セルを選択します。
  15. 選択したセル内を右クリックし、[セルの結合]を選択し、セルを結合します。
  16. 結合したセルを選択し、[プロパティ]ウィンドウから以下のプロパティを設定します。
    プロパティ名 プロパティの値
    TextAlign Center
    FontSize 14pt
    Value ="商店番号:" & Parameters!StoreID.Value
    FontWeight Bold
  17. テーブルの左端にある行ハンドルを右クリックし、[テーブルのフッタ]をクリックしてフッタを削除します。
メモ: 再帰型階層をページ形式のレポートで設定する場合、[ページ]ダイアログにあるDataSetNameプロパティを「Employees」に設定します。

再帰型階層を設定する

  1. テーブルの左端にある行ハンドルを右クリックし、[グループの編集]を選択して[Table-詳細行のグループ化]を開きます。
  2. [グループ化の条件]ページにある[式]オプションで「=Fields!EmployeeID.Value」と設定します。
  3. [親グループ]では[=Fields!Supervisor.Value]を選択します。
  4. [OK]をクリックしてダイアログを閉じます。

Level関数を使用し、階層を表示する

  1. 詳細行の1番目の列の「=Fields!Title.Value」セルを選択し、[プロパティ]ウィンドウのPaddingプロパティを展開します。
  2. PaddingLeftプロパティに、「=2 + (Level() * 15) & "pt"」と入力します。

    メモ: 「2」に設定することにより、パディングの標準の値として常に適用されます。

テキストボックスのBackgroundColorプロパティでテーマとLevel関数を使用する

  1. [レポートエクスプローラ]から[レポート]を選択します。
  2. [プロパティ]ウィンドウの[Themes]プロパティの横にある<...>をクリックし、[レポート - テーマ]ダイアログを開きます。
  3. [レポート - テーマ]ダイアログの、テーマの一覧の上にある[開く]アイコンをクリックし、..ActiveReportsNET18\Samples\API\PageAndRDL\Stylesheets\Reports\Reels.rdlx-themeを開きます。
  4. 詳細行の左端の行ハンドルをクリックして、行全体を選択します。
  5. [プロパティ]ウィンドウからBackgroundColorプロパティを「=Theme.Colors(Level() + 1, 4)」に設定します。

レポートを表示する

または

関連トピック