2012-07-31 57 views
4

我正在嘗試爲新車和二手車創建一個包含2個子報表的報表。JasperReports:通過參數圖和細節記錄傳遞列表打印在每個記錄的新頁面上

我已經根據JavaBeans規範定義了一個車輛bean。我正在考慮使用參數圖將此數據通過主報告傳遞給子報告,如Passing JRBeancollection datasourse to master report and subreport後所述。

步驟我花了這麼遠如下:

第一步 - 傳遞集合作爲參數

Map<String, Object> jasperParameter = new HashMap<String, Object>(); 
jasperParameter.put("new_Vehicles", createNewVehicles()); //returns a collection of vehicles. 

第二步 - 創建參數,new_Vehicles在我的主要報告中,並將其設置爲Collection數據鍵入

第三步 - 創建用於子報告數據源表達 net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{new_Vehicles})

第四步 - 創建一個字段(只是爲了得到這在添加更多字段之前工作),子報告中的vehicleId。我有和希望得到任何幫助

問題/問題是:
一)當我編譯它給了我一個錯誤的信息,即上面提到的數據源不能被解析爲一個類型。我做錯了什麼?

好的,所以我想我可能會通過在數據表達式前添加「新」new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{new_Vehicles})來超出例外。

但是,現在如果有兩輛新車被添加到列表中,它將在兩頁中打印,基本上每個元素在列表中有一頁。我的列標題是在列標題樂隊和我的領域是在詳細樂隊。

有關如何防止將每個元素放入不同頁面的列表的建議?

+0

你是否刪除了你不使用的樂隊?嘗試刪除它們並將您的細節帶調整到您的字段的高度。只是猜測 – 2012-08-01 10:57:14

+0

非常感謝Vyccus,工作。我沒有其他樂隊開始,但我改變了細節帶的高度,以匹配字段的高度,它的工作原理。再次感謝! – user1486984 2012-08-01 20:39:40

+1

你的歡迎。我將把這個答案作爲被選中的答案,我是新來的,不知道這是否是正確的,但對於其他可能有同樣問題的人來說似乎更好。 – 2012-08-02 10:35:01

回答

3

刪除未使用的波段和/或將細節帶調整到與您的字段相同的高度。

+0

好男人,我已經更新了帖子標題,所以它更相關。問候。 – user1486984 2012-08-02 18:45:08

相關問題