2012-06-26

JasperReports Split Type in Bands

Split Type 為 Bands 的三屬性之一,另外兩個為 Band height 和 Print When Expression,用來設定當該頁或該欄剩餘的空間不足以容納該 Band 時,要如何安排該 Band。


iReport 的 Split Type 預設是 Stretch,但是不管選 Immediate 或者 Prevent,就會馬上跳回去 Stretch,本來以為是設限為不可選其他兩個選項,但找不出理由,後來直接到 XML 編輯模式去改就可以了。

2012/11/13 補充
在更新到 iReport 4.7.1 版以後,就可以選 Prevent 沒問題了。




Immediate

最簡單的方式就是立即切斷,該頁或該欄放不下的部份移到下一頁或下一欄,Band 會被切成兩塊以上。

Prevent

第二簡單的方式就是整個 Band 移到下一頁或下一欄,但如果整頁或整欄還是放不下一個 Band,那個 Band 還是難逃攔腰切斷的命運。


Stretch

有點難懂,關係到 Band 本身的定義高度(Band height)與實際高度,就是一開始提到的 Band 三屬性之一,Stretch 保證在定義高度內不會被切斷,如果實際高度超出定義高度,超出的部份就可能會被切斷。

我還不會製造「實際高度」 超出「定義高度」,所以無法演練。

2012/11/13  補充
「定義高度」是 Designer 裡拉出來的高度,「實際高度」則是因為多行內容所需的高度。

2012/11/13  補充
對子報表裡的 Detail 設定 Prevent 沒有作用,必須在主報表裡,子報表所在的 Detail 區塊設定 Prevent,才可以防止子報表分頁。

沒有留言:

張貼留言