JAVA報表之JasperReport+iReport5.6 Subreport子報表的實現(四)

Subreport子報表首先需要知道主子報表之間的關係,根據主表的ID作爲條件來查找出子表中與主表相關的信息,並顯示出來。
難點一:父報表往子報表傳送參數
難點二:父報表接受子報表(subreport)的返回值
下圖爲數據庫中的主表和字表:

新建一個父報表,如下圖所示:

在主報表下放置子報表,如圖所示:
子報表建立好後如下圖所示:

定父報表中的參數:

在父報表中傳參數:
在子報表中接收參數時,需要先在子報表中定義一個同名參數:

編輯子報表中的查詢條件:

在主報表中預覽的結果如下圖所示:

把子報表中聚合的值傳遞到父報表中,創建一個變量returnCnt,計算子報表中的人數總數:
變量returnCnt的屬性設置:

在子報表中放置returnCnt變量:

在主報表中預覽效果:

在主報表中添加一個跟子報表中同名的變量及屬性:

點擊主報表中的子報表,選擇返回參數:

添加完成後將returnCnt放置到主報表中,並設置它的Evaluation Time屬性爲Band,表示根據區域塊來生效該事件,如下圖所示:

預覽效果如圖所示:

這樣我們就實現了Subreport子報表。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章