今天抽空寫點東西,關於Jaspersoft iReport 報表,設計時遇到的一些問題進行總結、歸類,主要分爲如下幾個內容:數據庫
針對的大都是報表設計中經常遇到的問題,但不是絕大多數,但願能幫到你們,下面詳細說下這些問題的處理方法吧。oracle
(一)添加驅動工具
報表設計後每每須要關聯數據庫進行測試,這裏就以oracle數據庫爲例,說下添加oracle驅動的方法,若已存在則跳過,oracle驅動jar包我用的是oracle10g,固然若是你安裝了oracle,直接從安裝目錄下複製一份便可,這裏提供 ojdbc14.jar 包下載連接:測試
https://pan.baidu.com/s/118i38WJepOdNfw8GKiqGsw,密碼:3kk2,下載後將jar包複製到iReport 安裝或解壓目錄下:\iReport-5.6.0\ireport\modules\ext。spa
(1)打開導航欄中工具-選項,點開Classpath配置項,以下:設計
(2)點擊Add JAR選項,將oracle驅動jar包添加到Classpath,肯定,以下:排序
(3)驗證oracle驅動是否安裝成功,點擊圖標,以下:get
New——選擇Database JDBC connection,以下:it
在JDBC Driver中查看是否已有Oracle驅動,以下:io
至於,添加鏈接的數據庫則本身配置一下就行了。
(二)控件處理
(1)爲了保證預覽或打印PDF時,報表格式內容的正確性,控件的下面的配置最好改爲這樣:
(2)Text Field控件顯示金額數值格式時,調整該項便可,以下:
(3)Text Field控件使用三元表達式,以下:
(三)dataset建立
(1)在使用iReport設計報表時,會有一個主dataset,咱們姑且叫作maindataset,以下,右擊報表名,選擇Edit Query,則能夠編輯該報表的主體查詢語句:
若添加table控件,則須要建立子dataset,叫作subdataset,因爲table中要展現的內容不能從主dataset中直接獲取,table表格的數據是動態生成的,經過其對應的dataset查詢獲得的,該如何設置呢?以下,右擊報表名,選擇Add Dataset添加subdataset:
而後,命名該dataset,點擊下一步,選擇鏈接的數據庫(和主dataset一致),添加table表格須要的查詢語句:
接着,點擊下一步,會顯示查詢出的字段,根據table須要依次添加到右側:
最後,點擊下一步,選擇排序字段,自行選擇,完成subdataset的建立:
(四)傳參問題
(1)在(三)中咱們已經建立好了一個subdataset,那麼如何向該dataset傳參數呢?以下,點開subdataset,右擊Parameters選項,選擇添加Parameter:
在添加的table組件上右擊,選擇Edit table datasource,在彈出的Dataset Run窗口中,選擇Parameter選項卡,點擊Add,添加須要傳遞的參數:
好了,總結的基本上都是本身使用過的和一些比較坑的問題,防止本身再次落坑,你們若是有遇到其餘的問題,並解決了,能夠提出來,一塊兒分享一下。