none
ReportViewerで、複数列での改ページについて RRS feed

  • 質問

  • Visual Studio 2008のReportViewerにて、「本文」の「Columns」値を
    4列に設定し、テーブルプロパティのグループで、読み込んでいるMDB
    データから、フィールドの一つをグループ化し、「末尾で改ページする」
    にチェックを入れております。

    この状態で実行すると、例えば1列目でグループの最終行に達した時、
    次のページではなく、2列目に次のグループの先頭が表示されてしまい
    ます。

    「次のページ」に「次のグループの先頭」を表示させるにはどうすれば
    よろしいのでしょうか。
    2010年7月26日 0:40

回答

  • 試行錯誤してみたのですが、レポートの設定だけでは無理そうに思いました。
    あらかじめ高さのある明細を追加しておいて Visibility を変化させてみたり、「四角形」にある改ページ機能を使ってみたりしたのですが、どれも成功しませんでした。

    スマートな方法ではないですが、グループでの末尾改ページの指定はやめ、1ページ(ページ内の全段組み)に何行の明細が入るかを数えておき、レポートに渡すデータに対してグループごとに端数分(じゃなくて不足分)の空行を挿入しておく方法ならできそうかなと思います。
    (そして、ダミーの空行に対しては、TableRow の BorderStyle プロパティの値が None になるような式を設定しておくなど。)

    • 編集済み TH01 2010年7月26日 6:14 不足分に訂正するカッコ書きの追加
    • 回答としてマーク ZARAZARA 2010年7月26日 13:23
    2010年7月26日 5:45

すべての返信

  • 試行錯誤してみたのですが、レポートの設定だけでは無理そうに思いました。
    あらかじめ高さのある明細を追加しておいて Visibility を変化させてみたり、「四角形」にある改ページ機能を使ってみたりしたのですが、どれも成功しませんでした。

    スマートな方法ではないですが、グループでの末尾改ページの指定はやめ、1ページ(ページ内の全段組み)に何行の明細が入るかを数えておき、レポートに渡すデータに対してグループごとに端数分(じゃなくて不足分)の空行を挿入しておく方法ならできそうかなと思います。
    (そして、ダミーの空行に対しては、TableRow の BorderStyle プロパティの値が None になるような式を設定しておくなど。)

    • 編集済み TH01 2010年7月26日 6:14 不足分に訂正するカッコ書きの追加
    • 回答としてマーク ZARAZARA 2010年7月26日 13:23
    2010年7月26日 5:45
  • TH01さん

    ReportViewerだけでは限界があるようですね。
    とりあえず今回は、改ページ機能は使用せず、グループごと
    (フィールドの値ごと)に、別々に出力するつもりです。

    TH01さんの方法は、別の機会に試させていただきます。
    ご返答、ありがとうございました。
    2010年7月26日 13:23