jasperreport?

Tags: 報表, 字段,

由於JasperReport報表不允許在一張報表中使用多個數據源的字段值,所以當報表中需要藉助其他數據源來顯示信息的時候,我們就可以採用子報表的方式實現。

工具/原料

JasperReport

方法/步驟

以下是報表的主報表,需要在主報表中顯示當前操作用戶所在的單位,由於獲取當前用戶所在的單位需要通過另一sql語句查詢完成,這是我們採用子報表的方式實現

jasperreport 子報表的創建

創建子報表:

創建新的報表getOrgName(在主表中需要顯示的部分),同樣就有參數設置,子表的參數由父表傳值(由於只需要在主表顯示單位名稱,所以只顯示一個字段在Detail中)。

jasperreport 子報表的創建

將子報表插件SubReport拖入要顯示的區域內,彈出如下窗口

jasperreport 子報表的創建

在本窗口中你可以自己創建一個新的報表,也可以選擇已經創建過的報表作為子報表,由於子報表已經存在,這裡直接點擊選擇,選擇剛剛創建的子報表,然後點擊下一步,彈出如下窗口:選擇改子報表的jdbc連接,這裡選擇同主報表一樣。然後點擊下一步

jasperreport 子報表的創建

為子報表的參數設置值(主報表向子報表傳參),點擊Add添加參數信息,設置參數的名稱以及參數值,參數值通過表達式獲取,將主報表的參數作為值傳遞給子報表,參數名稱的設置要跟子報表的參數名稱保持一致:

jasperreport 子報表的創建

jasperreport 子報表的創建

參數這隻完成後點擊finish,子報表會顯示在主報表的相應的區域,調整子報表的樣式顯示位置等,報表顯示為:

jasperreport 子報表的創建

注意事項

主報表對子報表傳參,參數設置中參數的名稱一定要與子報表參數名稱保持一致

相關問題答案