谁能解释一下如何从我的java代码中检索报告的REPORT_COUNT
变量值?
我需要该值,因为我想在报表没有页面时显示自己的消息,并且在这种情况下我不想显示空查看器。
你问如何获取报告变量,这就是方法:
//Create a base filler
JRBaseFiller filler = JRFiller.createFiller(DefaultJasperReportsContext.getInstance(),report);
//Fill the report
JasperPrint jasperPrint = filler.fill(map, connection);
//Get the variables / parameter from the filler
Object rc = filler.getVariableValue("REPORT_COUNT");
int count = 0;
if (rc instanceof Number){
count = ((Number)rc).intValue();
}
但是,检查是否有页面的最简单方法是:
在jrxml
中设置jasperReport
标签上的属性whenNoDataType="NoPages"
。此属性将确保在数据源为空时返回空报表(0 页(。(请参阅何时无数据类型属性(
和爪哇。
//jasperPrint is the JasperPrint object retrieved after fill
List<JRPrintPage> pages = jasperPrint.getPages();
if (pages.size() == 0) {
// No pages
}