1ページあたりに、空行を含めた固定の行数を出力する方法は?

文書番号 : 33936     文書種別 : 使用方法     登録日 : 2015/02/18     最終更新日 : 2015/02/18
文書を印刷する
対象製品
ActiveReports for .NET 7.0J
詳細
セクションレポートにおいて、1ページ内に、空行を含めて一定の行数を出力するには、以下のような方法が考えられます。
  1. DetailセクションのRepeatToFillプロパティを使用する方法
    DetailセクションのRepeatToFillプロパティを"True"に設定することで、詳細セクションに出力するデータが少なく、1ページに満たない場合に、ページの一番下まで空行を繰り返し出力します。

    ただし、RepeatToFillプロパティによる動作はレポートのレイアウトに依存するため、レポートのレイアウトによっては、想定通りに動作しない場合がございます。詳細については、製品ヘルプの以下の内容をご参照ください。

    PowerTools ActiveReports for .NET 7.0J
     - クラスライブラリリファレンス
      - GrapeCity.ActiveReports.v7 アセンブリ
       - 名前空間
        - GrapeCity.ActiveReports.SectionReportModel 名前空間
         - クラス
          - Detail
           - プロパティ
            - RepeatToFill プロパティ


  2. DataSetに空行を含める方法
    データソースから取得したデータを加工し、空行を含んだDataSetを作成して、レポートのDataSourceプロパティにセットすれば、バウンドレポートで任意の箇所に空行を出力することが可能です。

    DataSetをデータソースとしてレポートを作成する方法につきましては、製品ヘルプの以下の項目をご参照ください。

    PowerTools ActiveReports for .NET 7.0J
     - ActiveReportsユーザーガイド
      - サンプルとチュートリアル
       - サンプル
        - セクションレポートのサンプル(Standard)
         - Data
          - データバウンド サンプル
          - アンバウンドデータ サンプル
      - よくある質問
       - セクションレポート
        - データベース
         - 「複数のテーブルを持ったDataSetのデータを表示する」

    DataSetの作成方法については、MSDNライブラリ等の各種関係資料をご参照ください。

    DataSet の作成および使用

    データセットの作成および値設定に関するサンプルのトピック


  3. FetchDataイベントを利用する方法
    バウンドレポートにおいて、データソースのレコードがEOFに達した場合、FetchDataイベント内で引数eArgs.EOFが"True"になり、レポートの生成処理が終了します。
    このとき、コード上で引数eArgs.EOFをFalseに変更することで、レコードがEOFに達した状態でも、任意の数だけDetailセクションを出力することが可能となります。

    FetchDataイベントの使用方法につきましては、製品ヘルプの以下の項目をご参照ください。

    PowerTools ActiveReports for .NET 7.0J
     - クラスライブラリリファレンス
      - GrapeCity.ActiveReports.v7 アセンブリ
       - 名前空間
        - GrapeCity.ActiveReports 名前空間
         - クラス
          - SectionReport
           - イベント
            - FetchData イベント


  4. アンバウンドレポートによる方法
    アンバウンドレポートでは、レコードの移動やデータのセットなどの処理を、コード上で任意に行いますので、ご要望のような動作が可能となります。
    たとえば、FetchDataイベント内で、グループ化のキーとなるデータが変化したら、レコードの移動は行わずに、任意の回数(行数)分だけFieldsコレクションに空のデータをセットするような方法で、空行を出力することが可能です。
    製品ヘルプの以下の内容において、上記のような方法による空行出力を説明しております。

    PowerTools ActiveReports for .NET 7.0J
     - ActiveReportsユーザーガイド
      - サンプルとチュートリアル
       - サンプル
        - セクションレポートのサンプル(Standard)
         - Data
          - アンバウンドデータ サンプル
       - チュートリアル
        - セクションレポートのチュートリアル
         - レイアウト
          - アンバウンドレポートでのグループ化


  5. Overlayメソッドで枠線のみの別のレポートを重ね合わせる方法
    Pagesコレクションの Overlayメソッドを使用することで、レポート上の任意のページに、別のレポートのページを重ね合わせて合成することが可能です。

    たとえば、1ページ分の枠線のみを設定したレポートを別途用意し、本体のレポート(データを出力したレポート)と同数のページだけ作成して、その上に Overlayメソッドで重ね合わせれば、常に同じレイアウトのレポートを生成できます。

    ※一定の行数や特定のグループ毎に改ページしたい場合、予め本体のレポートに改ページの制御を加える必要がございます。後述の「関連情報」等をご参考の上、ご検討ください。

    この方法は、各セクションの高さが固定(CanGrow/CanShrinkプロパティがいずれもFalse)で、全てのページについてレポートレイアウト(枠線の描画位置)が全く同一である場合に有効な方法です。こちらの方法もご検討ください。

    Overlayメソッドの使用方法については、製品ヘルプの以下の内容をご参照ください。

    PowerTools ActiveReports for .NET 7.0J
     - ActiveReportsユーザーガイド
      - サンプルとチュートリアル
       - チュートリアル
        - セクションレポートのチュートリアル
         - レイアウト
          - ページテンプレートの適用(Letterhead)


  6. LayoutActionプロパティを使用する方法
    レポートオブジェクトのLayoutActionプロパティをコード上で切り替えることで、レコードを移動させずにセクションのみを出力することが可能です。こちらのプロパティを使用すれば、(バウンドレポート上で)任意の位置に空行を出力することが可能です。

    LayoutActionプロパティの使用方法については、製品ヘルプの以下の内容をご参照ください。

    PowerTools ActiveReports for .NET 7.0J
     - ActiveReportsユーザーガイド
      - サンプルとチュートリアル
       - チュートリアル
        - セクションレポートのチュートリアル
         - レイアウト
          - ラベル形式のレポート
     - クラスライブラリリファレンス
      - GrapeCity.ActiveReports.v7 アセンブリ
       - 名前空間
        - GrapeCity.ActiveReports 名前空間
         - クラス
          - SectionReport
           - プロパティ
            - LayoutAction プロパティ
関連情報
キーワード
HowTo デザイン・レイアウト