看了網上的一些資料,發現了方法,但是描述都不是很詳細,也至於每次都無法實現,只能在資料集中做補空行處理。今天終於弄通了,貼出方法,以備後續之用。
1. <1>在報表上加乙個child(在控制項設計器中名稱叫「子(w)」).其name取名叫blankband。
<2>此band就是我們要新增的空行(若你的報表明細中有**線,明細band(如 detaildata中也有**線,請在新增的blankband中也照樣新增好**線)。
band的高度設定為明細band的高度。
<3>.經過<2>的設定後,此band的名稱在報表中顯示為: child:blankband
2.在報表上加乙個footer 的band(不是pagefooter)。(若你的報表不需要此footer,可以將此band的高度弄成0).
新增此band的理由:需要利用此footer的onbeforeprint事件計算補空行。
3.在footer的band的onbeforeprint事件中寫入動態新增空行的**:
procedure footer1onbeforeprint(sender: tfrxcomponent);
begin
while (engine.freespace-8.7 >=0.6) and (engine.freespace<29.70) do
engine.showband(blankband);
end;
//說明:
// 1. 8.7高度為為報表中的pagefooter的高度,因為報表在列印footer時,pagefooter還沒列印,所以,在計算時得讓工作引擎去掉預留的pagefooter的band的高度.
//2. 0.6為空行band的高度,即blankband的高度。
//3. 29.7為一張豎向a4張的預設高度。
若不加此限制,有可能你的明細記錄在一張紙上打不下時跳到第二頁打,引擎因為只計算了pagefooter的高度,忽略了報表前面的band高度會造成不停地插入空行以致報表的頁數會被不停地新增導致死迴圈。
水晶報表自動補空行
之前我在原來的基礎上構造了資料,現在a組資料有8條資料,b是10條,c,d均少於5條,e剛好5條 1 首先我們畫出模板,假設你也是顯示5行,那麼,就用乙個詳細資料節,然後,將組頁尾拆分成4個 本例中,因為使用了乙個固定的頁尾顯示合計,所以是拆分成5個的,最後乙個節固定顯示 這裡使用了乙個執行時總計字...
水晶報表自動補空行及格線(無分組版)
問題的提出 乙個帶格線的清單類報表,假設有6行,我們設定的頁面紙型能容納5行,那麼資料會分成兩頁。第1頁顯示5行,佔滿1頁,而第2頁則只顯示1行,後面是一片空白區域。怎麼能根據資料的多少,自動填滿後面的空白區域呢?如下圖 第2頁 解決方法 清單類的報表,要填充的是最後一頁的剩餘區域。我們以每頁顯示5...
使用 EditPlus 替換行編號和空行的方法
引言 對經常在網上 copy code 的我們,會遇到一些問題,就是在別人部落格上 copy 下來的 code 貼上到文字中總是 帶了 行號 和一些沒有用的 空行 如果三五十行 code 還好 手動刪刪減減就ok了!如果真是找個乙個幾百行的 code 一看就哭了 向下面這段兒加有編號的 code,夠...