iReport報表開發中遇到的問題:

iReport報表開發中遇到的問題:

1、報表中工具欄中
T :不會變得文字
F :程序傳過來的文字字段

2、在網頁上預覽報表什麼內容也不顯示
解決方法:
編輯-〉報表屬性-〉More...->在“如果沒有數據時:後面的下拉菜單中選 All sections,no detail”
如果沒有數據時:後面的下拉菜單中的幾個選項的意思分別是:
No pages [當Detail中沒有數據時沒有頁顯示]
Blank page [當Detail中沒有數據時出現一個空白頁面]
All sections,no detail [當Detail中沒有數據時會顯示detail以外的東西]
No-date section [] 暫時我也不知道,呵呵。

3、Detail 和columnFooter 只間總是有一段空白
解決方法:從 iReprot 工具列設定 [預覽] -> [報表屬性]
打開[More...] -> [Floating column footer] 打勾columnFooter 就會和 Detail 在一起了。

4、報表中Detail循環部分內容的顯示格式
報表中Detail循環部分內容的顯示格式與報表屬性-〉Page Margin -> 下邊界的大小有關

比如detail中有兩列,當數據將第一列填充滿時[根據detail頁面大小]
會將數據自動填充到第二列[detail頁面大小能決定什麼時候第一列能被數據填充滿]

多條數據在Detail中填充的時候是按照頁面給顯示數據所留大小填充的
控制顯示多少行數據的時候嚴格按照頁面能顯示多少條數據來作出判斷
按照條件顯示的控件在不顯示的時候仍然佔據頁面位置。

5、文字框中 Common 選項卡:
Print when expression 屬性裏是Boolean類型代表此字段的顯示與否內容一般是:
new Boolean(結果是boolbean類型的表達式)


6、文字框中Font選項卡字體選擇是成套的才能正確顯示:
[1] Font Name:選 宋體
PDF Font Name:選 STSong-Light
最後 PDF Encoding:選 UniGB-UCS2-H (Chinese Simplified)
[2] 引用外部字體如隸書
將字體文件放入iReport安裝目錄的fonts文件夾下如隸書[D:\iReport-3.0.0\fonts\SIMLI.TTF]
Font Name:選 隸書
PDF Font Name:選外部字體文件 隸書 (SIMLI.TTF)
最後 PDF Encoding:選 Identity-H (Unicode with horizontal writing)[是外部文件都選它]

7、動態文字框中 Text Field 選項卡:
中間有個 [複選框 Blank when null] 表示:當此文本框內容爲空時是否顯示null。
鉤上表示爲null時顯示空白會比較好看些,不鉤顯示null。

8、$V{PAGE_COUNT} 表示當前是這頁的第幾條記錄[在detail循環相關區域用]
$V{PAGE_NUMBER} 表示當前是第幾頁
$V{COLUMN_NUMBER} 表示detail有幾字段

9、字段即列數在工具中編輯->報表屬性->字段數中設置。
字段數把detail區分爲相應的這些列,當一頁中第一列顯示不過了會自動跳到本頁的第二列以此類推

10、報表中數據轉換類型:
$V{PAGE_COUNT}.intValue() 報表中V屬性轉爲int
Integer.valueOf($P{pageCount}).intValue() 報表中P屬性轉爲int
Double.valueOf($F{realSum}) 報表中F類型轉爲Double
($V{realSums}.doublue()+$V{realSumMs}.doublue()) double類型相加求和
Boolean.valueOf(((List)$F{mentalState}).contains("02")) 將boolean值轉爲Boolbean

11、報表中數據的操作:
文字框中的加法操作時:加號左右必須是數值類型如不是,加號就變成連接作用,而不是做加法操作了。
(($V{realSums}!=null?$V{realSums}:Double.valueOf(0)).doublue()
+
($V{realSumMs}!=null?$V{realSumMs}:Double.valueOf(0)).doublue())+" 元"

12、報表中用到的一些方法:
contains()方法:((List)$F{mentalState}).contains("02") 從List類型的mentalState中查找 02 返回boolean值
equals()方法:用於兩個String類型之間的比較
valueOf()方法括弧中間方的值只能是String類型的,不然編譯會報錯

13、報表區域結構說明:
title 報表頭[只在第一頁的最上面顯示]
pageHeader 頁頭[每一頁都會顯示]
columnHearder [和columnFooter作用差不多,columnHearder在detail之前顯示]
detail [需要循環顯示的東西在此處寫]
columnFooter [展示在循環顯示的下面]具有循環的$V{PAGE_COUNT}當前記錄
pageFooter 報表尾[最後一頁的最下方顯示]
summary [此處用於做統計,顯示的話用處不大]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章