javabean完成以后就是添加ireport的報表了
打開ireport的option然后在classpath中添加路徑。

然后在ireport中追加數據源如圖,點擊圖標后會出現數據源列表然后按new會出現bean的選擇

next后會讓你輸入工廠類,和方法名,還有返回的屬性這里我用的是數組。然后點擊測試成功表明沒有問題了。

接下來就是追加field如下圖,選擇你的數據bean類然后自動讀取,選擇需要的項目進行追加。

在報表上進行編輯記得字體要選宋體

preview后發覺成功

接下來是做子表的圖表顯示這里使用自報表的形式(不用也可以具體情況具體分析 只是例子不用糾結)
使用subreport建立一個自報表(建立方法請自行查找 注意 數據源請選擇empty的)

然后在自報表中加入child field方法略 注意是自報表
然后再summary中加入餅圖 配置是name做分類degree做數據。然后preview

預覽后的結果 這說明子表已經完成,然后是在附表中配置字表的數據源

將主報表中的child類型從list改為net.sf.jasperreports.engine.data.JRBeanCollectionDataSource
這里提一下如果是數組的話用net.sf.jasperreports.engine.data.JRBeanArrayDataSource

然后在自報表datasource屬性中加入 $F{child} 注意connectiontype 選datasource的然后將數據源設定為主表數據源

preview結果下面的結果就是這卻的


在最后 所有的結合數據源都是需要jrdatasource的所以 不管原來list也好數組也好,都需要轉換為jrdatasource類型。
還有就是不用自報表也能實現餅圖 就是直接拖一個餅圖然后追加一個數據源,最后這個數據源和child進行關聯即可。網上有例子就不貼了。
