掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
GroupHeader を使った時の改ページ制御 (ID:24337)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
(1)ページヘッダではないので簡単にはできないでしょう。 GroupHeader・・・TQRBandですが、これにはprotectedでPrintと 呼ばれるメソッドがあり、これを使うと、もしかしたら出せるかも しれませんが、外部から呼ぶことはできないようです。 (2)印刷に必要なDetailBandの高さを知る方法が、おそらくありません。 これをふまえて・・・ [その1] 将来的に使えなくなるかもしれない、コンパイラに依存していると 言われることもある強引な方法。 type TMyQuickRep=class(TQuickRep) end; TMyQRController=class(TQRCustomController) end; DetailBandBeforePrint で 適当なフラグOn DetailBandAfterPrint で 適当なフラグOff QucikRep.OnNewPage(ちょっとうろおぼえ)で、適当なフラグOnであれば TMyQRController(TMyQuickRep(QucikRep).Controller).PrintGroupHeaders; を実行。 同一ユニット内のクラスなら、protectedメンバにアクセスできるという 環境依存の魔法を使った方法。 [その2] 正直、普通には無理っぽいので、GroupHeaderの内容と同じものを、 PageHeaderのChildに作成し、[その1]同様、適当なフラグのOn/Offで PageHeader.ChildBandのOnPrintイベントでの引数PrintBandを On/Off切り換え。 [その3] あきらめて、グループ単位で改ページする。 こうすれば、ページヘッダにグループヘッダの内容を用意しておくだけで 済むので、非常にラク。 なお、できるかどうか試したわけではないので、ご了承願います。 (QR3.x系の環境がありません) 余談ですが、例えば1行分の高さのDetailBandにQRMemoを2個貼り付けて、 それぞれ10行分のデータを印刷させようとすると、本当は9行分の 高さの拡張があればいいのですが、QRMemoが、それぞれ9行分バンド高を 拡張するため、9行分の空行ができるという、おもしろ機能があります。 QR3.0系では直っているんでしょうかね? 直っているなら、もしかすると(2)の必要な高さを知る関数が あるのかもしれません。 さらに詳しい方プリーズ
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.