簡體   English   中英

如何在Java代碼中訪問JasperReports的變量?

[英]How can I access JasperReports's variables in Java code?

我想從Java代碼中的JasperReports訪問變量。 更具體地說,填寫報告后,我需要在我的Java代碼中知道REPORT_COUNT和SUBREPORT_COUNT。 我嘗試將其設置為屬性,但這不起作用。

報告已排定,如果沒有數據,我不想發送電子郵件。 我嘗試將“何時無數據”設置為“打印0頁”,然后檢查Java代碼中的頁數。 如果僅在主報表或子報表中存在數據,則此方法不起作用。 如果主報表或子報表都沒有數據,我希望它打印0頁。

我敢肯定這已經被問到了,但是我找不到我真正需要的東西。 如果有人能指出我正確的方向,將不勝感激。

請嘗試以下操作:

JasperReport jasperReport = (JasperReport) JRLoader.loadObject("path/to/your.jasper");

// prior to version 4.6.0, you should use JRFiller.createFiller(jasperReport)
JRFiller.createFiller(DefaultJasperReportsContext.getInstance(), jasperReport);

JasperPrint print = filler.fill(yourParameterMap, yourDatasource);

Object value = filler.getVariableValue(variableName); // here's what you need

請注意,您將無法再使用JasperFillManager.fillReport

@brunobastosg如果我們有報告返回一行包含所有空字段且data_found為0的行,則此方法將不起作用,在這種情況下,您無法確定它是否真的沒有數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM