ireport 換行

ireport中的幾個小問題:
1.ireport 中對於$F{propertyName},$V{variableName}如何換行
2.ireport中如果靜態文本太多如何換行
3.ireport中如何解決換行導致的單元格對不齊問題
4.在ireport中如何把java.util.Date屬性顯示成yyyy-MM-dd形式,默認ireport的Date顯示形式爲"09-10-11 上午12:00"
5.ireport使用java.math.BigDecimal進行精確的數值運算

前置條件:
這裏講的換行,是ireport根據顯示數據元素$F{propertyName},$V{variableName}的寬度和數據內容進行自動換行,而非自己設置的換行
解決:
1、對於$F{propertyName},$V{variableName}只需在屬性表中選中Stretch With Overflow即可
2、ireport中靜態標記label不支持多行顯示(目前個人理解),那麼當要顯示很多靜態文本,而列頭不夠大,那該怎麼辦?
解決辦法:我們定義一個$V{variableName}變量,變量的值默認爲要顯示的靜態文本,那麼此時我們只有對$V{variableName}進行1同樣設置即可
3、鑑於ireport中顯示的表格是拼湊出來(由每一個單獨的單元格組成),要顯示錶行效果那麼要求每個單元格高度是一樣的,如果在顯示時
一個單元格由於內容太多而換行了,而其它沒換行那麼其顯示高度肯定不一致了,此時我們只要把該行所有單元格的屬性Stretch Type="relative to band height"即可

(或者所有字段都選擇Stretch Type="Relative to tallest object"
4、對於ireport以javabean做數據源,且要顯示的記錄中有數據類型爲java.util.Date的屬性。
如果直接顯示該屬性那麼頁面顯示日期格式爲 "09-10-11 上午 12:00" 而我們要求顯示日期格式爲yyyy-MM-dd
那麼此時我們可以這樣做:定義變量$V{variableName}其表達式爲 "new java.sql.Date($F{日期屬性}.getTime()).toString()",此時直接用該變量代替$F{日期屬性}即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章