|
分類:[.NET 全般]
開発環境:Microsoft Visual Studio 2010 Crystal Reports for .NET Framework
はじめまして。れれれと申します。 crystal Reportsのページフッターの制御で教えて頂けないでしょうか。
グループごとに改ページをするレポート(ページヘッダ・明細・ページフッタあり)で、 そのグループの1ページ目のみページフッターに表示したい文言があります。 ヘッダー部だと、その文言のオブジェクト書式設定の非表示に「NOT OnFirstRecord AND ({グループCD} = Previous ({グループCD}))」を 入れることで実現できるのですが、フッターでは思っていた表示になりません。
ヘッダーにフラグ(1=グループ1ページ目 0=それ以外)を立てる@hikakuを追加し フッターに@hikaku=0なら非表示というような設定にしてもだめでした。 @hikakuをフッター部で表示してみると、どうも明細行が複数ある場合、フッターを表示させるまでに{グループCD} = Previous ({グループCD}と なるため、@hikaku を1にすることが出来ないようです。(明細が1行の場合はうまくいきます) フッター部に 今のグループCDと Previous ({グループCD})を表示してみましたが、確かに複数行あるグループは同じグループCDが表示されました。
【@hikakuの内容】 Shared NumberVar HikakuFLG := 0 ; WhilePrintingRecords; if NOT OnFirstRecord AND ({グループCD} = Previous ({グループCD})) then HikakuFLG := 0 else HikakuFLG := 1
【テキスト非表示時の式】 WhilePrintingRecords; {@hikaku}=0
グループの最初のページだけフッター部に印字するにはどうすればいいのでしょうか。
CrystalReportsはあまり触ったことがないため、サイトで検索して見様見真似で 書いてみているので、もしかすると書き方自体が間違っているかもしれませんが・・・。
以上、よろしくお願いいたします。
|