列印需折疊的報表心得報告 |
尚未結案
|
海星
高階會員 發表:41 回覆:217 積分:106 註冊:2003-01-09 發送簡訊給我 |
這次寫的案件,對方需要把列印出來的報表中間對折,因此報表中間必須留空白
。 如果直接用 QRDBLabel元件,那他肯定會一直印過去,中間不會留下空白,突然間被我想到一個方法,那就是就是使用 QRLabel 元件代替 QRDBLabel。 概略說明: 在 QRBand1BeforePrint() 事件內,設定
{
QRLabel->Caption = Query1->FieldByName("要顯示的欄位")->AsString;
} 並且每列印一次,計數器就加1,等到印到10行(看你半面是幾行),
就把 QRLabel->Caption 設定為空白,虛擬碼如下 if( i == 10 || i == 11 )
{
QRLabel->Caption = "";
} 這樣中間就會變空白了,另外甚至每"半頁",你都可以自己設定 ColumnHead
的標題內容,BandType 不需再有 "rbColumnHeader"屬性,全部都直接搞定。
(也是改 QRLabel內容) 直接看我傳上來的圖比較能懂得我在說啥,
附帶幾點說明 (1)因為對方的列表機是 B4規格,而我的列表機只有A4規格而已,所以預覽
列印會被切割,無法完全顯示,這可以說是QReport 的bug,也可以說不是。
(2)還有我還沒寫好,圖中間那個對折線,其實可以拿掉,我想睡覺了,程式
碼明天再說,不想繼續寫了。(改frame 屬性)
(3)這些資料關係到私人的隱私,所以我有做馬賽克塗黑處理,請見諒。
(4) 列印Head行跟空白行時,資料庫記得要做 Prior() 處理,不然你的
資料會少很多行。
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |