如何使用 hashmap 变量执行 jasper reports 子报告?
how to execute jasper reports sub report with hashmap variable?
正在尝试使用下一个代码生成子报告:
int SelectedVoucher=Integer.valueOf(VNumber_ID_lbl.getText());
try {
Connect c=new Connect();
HashMap map = new HashMap();
map.put("Voucher_ID", SelectedVoucher);
String PaymentReport="src\voucherexpress\VoucherReport.jrxml";
String SubPaymentReport="src\voucherexpress\VoucherReport_subreport1.jrxml";
JasperReport jasperMasterReport = JasperCompileManager.compileReport(PaymentReport);
JasperReport jasperSubReport = JasperCompileManager.compileReport(SubPaymentReport);
JasperPrint jasp_print=JasperFillManager.fillReport(jasperMasterReport, map,c.Connstr);
JasperViewer.viewReport(jasp_print);
c.Connstr.close();
} catch (JRException | SQLException | IOException ex) {
JOptionPane.showMessageDialog(null, ex);
}
我在主报表中添加了子报表,创建新查询,对其进行测试,运行nin 很好。
两个报告使用相同的参数 (Voucher_ID)
但是当我用主报表执行它时,它只显示主报表数据,子查询是空的。
我如何 运行 主报表中的子报表
我已经解决了这个问题:
首先:没有使用此行:
String SubPaymentReport="src\voucherexpress\VoucherReport_subreport1.jrxml";
JasperReport jasperSubReport = JasperCompileManager.compileReport(SubPaymentReport);
第二个:
在主报表设计页面中,单击子报表并从属性中选择参数,添加与主报表相同的参数 >>> 并完成,它的工作
正在尝试使用下一个代码生成子报告:
int SelectedVoucher=Integer.valueOf(VNumber_ID_lbl.getText());
try {
Connect c=new Connect();
HashMap map = new HashMap();
map.put("Voucher_ID", SelectedVoucher);
String PaymentReport="src\voucherexpress\VoucherReport.jrxml";
String SubPaymentReport="src\voucherexpress\VoucherReport_subreport1.jrxml";
JasperReport jasperMasterReport = JasperCompileManager.compileReport(PaymentReport);
JasperReport jasperSubReport = JasperCompileManager.compileReport(SubPaymentReport);
JasperPrint jasp_print=JasperFillManager.fillReport(jasperMasterReport, map,c.Connstr);
JasperViewer.viewReport(jasp_print);
c.Connstr.close();
} catch (JRException | SQLException | IOException ex) {
JOptionPane.showMessageDialog(null, ex);
}
我在主报表中添加了子报表,创建新查询,对其进行测试,运行nin 很好。 两个报告使用相同的参数 (Voucher_ID) 但是当我用主报表执行它时,它只显示主报表数据,子查询是空的。 我如何 运行 主报表中的子报表
我已经解决了这个问题:
首先:没有使用此行:
String SubPaymentReport="src\voucherexpress\VoucherReport_subreport1.jrxml";
JasperReport jasperSubReport = JasperCompileManager.compileReport(SubPaymentReport);
第二个: 在主报表设计页面中,单击子报表并从属性中选择参数,添加与主报表相同的参数 >>> 并完成,它的工作