2017年11月10日 星期五

ireport使用紀錄

真的超級難拉QAQ
希望以後更熟悉會比較會用
但是他限制真的很多
不過免費的就將就用囉


 「值」簡介
Styles:樣式
Parameter:參數,只有一個的參數適合放這邊,ex:列印者 申請日期等等
Fields:detail裡的欄位值
Variable:一些變數...或是計算出來的值

「區塊」簡介
Title:主題 
Page Header:每一頁的頭
Column Header:每一個detail的頭
Detail :資料(只設計一列,越多資料會自己長長)
Column Footer:每一個detail的尾
Page Footer:每一頁的頁尾
Last Page Footer:只有最後一頁出現的頁尾
Summary:摘要
No Data:沒有detail時出現的
Background:背景(可以加浮水印啥的)

P.S.還可以自己加group,但是還不明白準確的使用方式

「調色板」簡介
只記錄我用過的,排序以我最常用的先

Static Text:固定的字
Text Field:會動的字
Line:直線
Frame:區塊
Rectangle:方框
Barcode:條碼
Subreport:子報表
Page number:本頁頁碼
Total pages:總頁數
Image:圖


報表屬性設定 

Page size > Orientation:
Pottrait:直的(預設)
Landscape:橫的
Margins:邊界大小
More > Title on a new page:title自己占第一頁,若需要封面時可打勾
More > Summary on a new page:Summary自己佔最後一頁,需要的話打勾(注意:若summary不是自己一頁的話,會在column footer上面
More > Summary with Header and Footer:Summary那單獨一夜的時候也要有page Header and Footer,需要的話打勾
More > Float column footer: 若detail未填滿,column footer會直接接著detail,中間無空白(注意:若summary不是自己一頁的話,column footer會連著summary)
More > Ignore pagination:若打勾則不分頁
More > When No Data:當無資料時,預設無頁面,若需顯示No Data區塊則改選No Data Section

區塊屬性設定
Print When Expression:當敘述為true,顯示區塊
Split Type:當內容超過區塊高度,
Immediate:直接顯示不完整內容
Prevent :到新的一頁顯示完整內容
Stretch :延伸顯示當前內容


調色板通用屬性設定
Left、Top:位置設定(相對於所在區塊)
Width、Height:大小
Opaque:是否透明(有勾是透明)
Position Type:
Fix Relative Top:固定於區塊頂部
Float:浮動(!!!超好用)
Fix Relative Bottom:固定於區塊底部
Text Field 屬性設定
Text Fild Expression:除了可以放參數,還可以下條件式~~
Blank When Null:若值為null則顯示空白,沒勾就會顯示n u l l
Stretch With Overflow:若沒勾則超過大小的內容會卡掉
字體設定等照字面翻譯即可

Barcode設定
選Barcode4J > Code 128
Image設定
注意路徑須為絕對路徑
可以用Parameter傳入路徑,方便動態調整
groovy中,路徑可用:
new File(“相對路徑”).getAbsolutePath()  //mac可用,window不可用
Executions.getCurrent().getDesktop().getWebApp().getRealPath("/")+"相對路徑"

           
 若有好多欄位會放在同一個橫排的感覺,可以用frame包起來,若有須自動延伸的欄位看起來也會比較整齊,向下延伸,下方整個也會向下
  

 若想在detail與summery中間放東西,可新增一個group,就會多一個 xx Group Header 和xx Group Footer,東西放在xx Group  Footer就會連著detail而且在summary上面~
為神魔要這樣呢?因為Column  Footer如果放動態資料超過一頁的話會錯誤,所以只能放在summary 

以上為我自己的理解,
此網頁為更明確的介紹