罫線の謎

デザインの作成

日本の帳票には罫線が必須だ。 とりあえず、こんな感じで、線を引いてみた。


ページヘッダからグループフッタにかけてボックスを作り、グループヘッダ、詳細、グループフッタの上に横線、グループヘッダから詳細にかけて縦線を引いてある。

出力

データを1つだけでやってみると、

なかなかいい感じっぽいのだが、なんと、

データを複数にすると、こんなことになってしまう。 デザインを見る限り、フッターに縦線は通らないはずではないのか。 わけわからん。

罫線を調査する

ということで、罫線を調査するため、次のようなデザインを作ってみた。

縦線はセクションをまたぐものも、すべて一本で構成されている。
これを実行すると、

....snip....

データ1件の場合


....snip....

ページ区切り

....snip....

....snip....

データが複数ある場合

こんな風になった。オドロキ。

この結果から、セクションをまたぐ線の場合、おおよそ次のようなルールがあると考えられる。 (ページをまたぐ場合は、また、もう少しややこしい)
デザインの
開始セクション
動作
レポートヘッダ
ページヘッダ
開始セクションから、そのページ(ない場合は次のページ?)の最後に現れる終了セクションまで線が引かれる
グループヘッダ
詳細
グループフッタ
レポートフッタ
開始セクションから、最初に現れる終了セクションまで線が引かれる

以上の結果から、セクションをまたがない線で構成した方が無難である。
とはいいつつ、セクションをまたいでも望み通りになることはあるので、この結果を参考によい。 なんとなく、

  • ページヘッダから始まる線はページフッタまで引いた方がよい
  • ページxx、レポートxxを含む線は、途中のグループxxの上に線を引くので気をつける
  • グループヘッダから詳細に引いてはいけない
  • というような感じか。

    ということで、さらにまとめると、ふつうの表では
  • ページヘッダからページフッタまで
  • グループヘッダからグループフッタまで
  • 詳細からグループフッタまで
  • 各セクション内で完結
  • のどれかで構成すればいいわけですかな。

    再びデザイン


    見た目は同じだけど、縦線をセクションの中に入れてみた。 BOXも怪しげな動きをすることがあるので、使っていない。
    セクションの一番下の横線や、一番下まで引く縦線は、書式の

    の「出力時にセクションの下部へ移動」や「出力時にセクションの下部まで拡張」をチェックしておくと幸せだ。 プロパティの「ExtendToBottomOfSection」を「True」にしても同じだ。

    そして出力


    いけてるっぽい。

    [home] [クリスタルレポートトップ]
    ひらちゃんのページ