1.格式化時間:(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm")).format($F{Date})
2.使某個字段中的數據在特定條件下才打印出來
通過設置字段的 PrintWhenExpression ,我們可以限定只有在某些特定的條件下字段值纔會被打印出來,在PrintWhenExpression 中需要設置Boolean 型的表達式,如:new java.lang.Boolean($F{type}.trim().equals("mod_cook"))
3.文本自動換行
如果不處理一下,有些字段的內容太長了就會顯示不全。選中該字段,右擊 -> 屬性,在 Text Field 把 Stretch with overflow勾上。
同時把該行所有的字段選上,右擊 -> 屬性,在 Common 的 Stretch Type選擇Relative to tallest object。
4.設置共幾頁,第幾頁$V{PAGE_NUMBER} 表示當前是第幾頁 ,在text field 的 選項evaluation time選report是共幾頁,now表是當前頁。頁碼可在ireport裏直接設置。 “共幾頁 第幾頁”
5.報表中Detail循環部分內容的顯示格式
可分列循環 print order
6.detail中根據內容自動調整行高的辦法
假如detail band中設計時只有一行,那麼選中所有元素,在屬性中的Stretch Type中選中relative to band height,Position type中選中Fix relative to top ;勾選 Stretch with overflow即可。
但是,如果detail band中設計時不止一行,有兩行以上,按照以上的設計無論Stretch type /Position type選中什麼值,同時勾選Stretch with overflow.運行出來都是不行的,有些行無法看到,要嗎就是行與行之間的內容有覆蓋的現象。
這時,一定要運用上element group(注意不是Report group)。假定設計時有兩行吧,把這兩行分別歸爲一個element group,在IReport中按住shift鍵,選中第一行,右鍵單擊選擇“group selected elements”,在屬性Stretch Type中選中relative to tallest object,Position type中選中Float ;勾選 Stretch with overflow即可。第二行也做類似操作。
7.文字框中Font選項卡字體選擇是成套的才能正確顯示:
Font Name:選 宋體
PDF Font Name:選 STSong-Light
最後 PDF Encoding:選 UniGB-UCS2-H (Chinese Simplified)
8.報表區域結構說明:
title 報表頭[只在第一頁的最上面顯示]
pageHeader 頁頭[每一頁都會顯示]
columnHearder [和columnFooter作用差不多,columnHearder在detail之前顯示]
detail [需要循環顯示的東西在此處寫]
columnFooter [展示在循環顯示的下面]具有循環的$V{PAGE_COUNT}當前記錄
pageFooter 報表尾[最後一頁的最下方顯示]
summary [此處用於做統計,顯示的話用處不大]