- PR -

CrystalReportで改ページ時に空欄を出力させない方法は?

1
投稿者投稿内容
ともこ
会議室デビュー日: 2003/07/04
投稿数: 1
投稿日時: 2003-07-04 00:16
VB.NETでパッケージソフトの開発を行っているのですが、帳票の作成に使用しているCrystalReportsで、解決できない問題が生じています。

データベース上のデータを一覧表としてレポートに出力するために、詳細セクションにボックスオブジェクトで枠を取り、そこへ出力したいフィールドオブジェクトを配置しています。
また、出力するデータの文字数によって、枠を可変とするために、

ボックスオブジェクトのプロパティ : ExtendToBottomOfSection = True
フィールドオブジェクトのプロパティ : CanGrow = True , KeepTogether = True

としています。
以上の設定でレポートを出力すると、枠は文字数に応じて拡大されているのですが、改ページの際、データが空白の「枠」だけが現在ページの表の最後に追加されてしまうことがあります。
ちなみに、データベースのテーブル上にNULLのデータは存在していませんので、詳細セクションエキスパートで「空のセクションを非表示」にチェックしても解決しませんでした。

データの文字数を変えていろいろと試したのですが、「次表示するレコードが複数行で、現在ページの最下部に収まらないため、改ページし表示する場合」に、枠だけが表の最後に出てしまうようです。

クリスタルレポートのバグなのでしょうか?
どなたか解決策をご存知の方がいらっしゃいましたらご教授ください。
よろしくお願いします。
bubunya
大ベテラン
会議室デビュー日: 2003/01/16
投稿数: 124
投稿日時: 2003-07-05 23:15
同じような状況を作ってみましたが、空っぽのボックスは表示されませんでした。2 行表示されるか、ボックス共々次のページに表示されます。

API で設定せずに、デザイン画面であらかじめ設定しておくとどうなるかを試してみては如何でしょうか。いちいちコードを修正する必要も無いですし、同じレポートを普通の Crystal Reports で利用する時にそれらを設定しなおす必要もありませんし。

私の場合、ボックスは外側にしか利用しません。つまり、ヘッダーからフッターにかけてボックスを置いて、各セクションでは一番上か下に横線だけ引くようにしています。もちろん、縦線も必要に応じて引いてますが。
この方法だったら空っぽのボックスも表示されないと思います。
1

スキルアップ/キャリアアップ(JOB@IT)