JasperReport
Subreport
Subreport 也是對應到一個 .jrxml, 可以作到只切換 / 動態指定整個 report 其中一部分的需求, 提高 report 的重用率、減少維護成本。
在 main report 當中加入 Subreport 之後, Subreport 的 Subreport Expression
指到一個 parameter,假設為 $P{SubReport}
, $P{SubReport}
的 Parameter Class
是 net.sf.jasperreports.engine.JasperReport
; Subreport 的 Data Source Expression
指到一個 parameter,假設為 $P{ReportVO}
, $P{ReportVO}
的 Parameter Class
要是 data source,個人習慣是用 JRBeanCollectionDataSource
。
在 Java 當中:
這樣 Subreport 就會以 getJasperFile()
的 .jasper 檔案 搭配 getSubreportData()
的內容值產生報表。 只不過不是獨立存在、而是 main report 的一部分。
iReport Editor
注意 ######
這裡是 4.6.0 版的使用經驗
官方在 2016 年就不再維護 iReport,要改用 Jaspersoft Studio
要切換到 Preview 才會產生 .jasper 檔
如果修改 XML(尤其是 <parameter>
或是 <field>
),最好存檔之後關掉重新載入。 千萬不要直接切到 Designer,不然不但 Designer 沒有載入修改後的 XML, 還有可能把之前改的全部復原回去...... Orz
Last updated