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

文書番号 : 38220     文書種別 : 使用方法     登録日 : 2015/03/12     最終更新日 : 2017/07/06
文書を印刷する
対象製品
ActiveReports for .NET 9.0J
詳細
1ページ内に、空行を含めて一定の行数を出力する方法は、レポートの形式によって異なります。
  1. セクションレポートの場合
  2. ページレポートの場合
※RDLレポートには実現する方法が用意されておりません。


セクションレポートの場合

  1. DetailセクションのRepeatToFillプロパティを使用する方法
    DetailセクションのRepeatToFillプロパティを"True"に設定することで、詳細セクションに出力するデータが少なく、1ページに満たない場合に、ページの一番下まで空行を繰り返し出力します。

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

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


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

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

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

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

    DataSet の作成および使用

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


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

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

    クラスライブラリリファレンス
     - GrapeCity.ActiveReports.v9 アセンブリ
      - 名前空間
       - GrapeCity.ActiveReports 名前空間
        - クラス
         - SectionReport
          - イベント
           - FetchData イベント


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

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


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

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

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

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

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

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


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

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

    ActiveReportsユーザーガイド
     - サンプルとチュートリアル
      - チュートリアル
       - セクションレポートのチュートリアル
        - レイアウト
         - ラベル形式のレポート
    クラスライブラリリファレンス
     - GrapeCity.ActiveReports.v9 アセンブリ
      - 名前空間
       - GrapeCity.ActiveReports 名前空間
        - クラス
         - SectionReport
          - プロパティ
           - LayoutAction プロパティ



ページレポートの場合

Tableデータ領域のRepeatToFillプロパティを"True"に設定することで、固定行数の表形式でレポートを作成できます。

Tableデータ領域については、製品ヘルプの以下の内容をご参照ください。

ActiveReportsユーザーガイド
 - 概念
  - ページレポート/RDLレポートの概念
   - ページレポート/RDLレポートのレポートコントロール
    - Table

なお、通常はグループフッタは空行の上に出力されますが、PrintAtBottomプロパティを"True"に設定することで空行の下に出力することも可能です。

※RepeatToFillはTableにのみ存在するプロパティです。MatrixやListで空行を出力することはできません。

製品ヘルプ
ActiveReports for .NET 9.0J オンラインヘルプ
関連情報
キーワード
HowTo デザイン・レイアウト