在JasperServer中使用单输入控件传递多个参数

时间:2011-09-30 09:38:05

标签: java ireport jasperserver

我在ireport中创建了jasper报告。我试图使用jasper服务器执行它。我想通过单个输入控件传递两个输入参数来报告。此输入控件是下拉列表。它有文字和Id。我想传递id和文本来报告。有什么方法可以实现这个吗?

1 个答案:

答案 0 :(得分:0)

为了使用输入参数创建报表,您必须通过HashMap传递它们。这是您放置任意数量的值并将其传递给JasperReport的地方:

        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put("shopName", shopName);
        map.put("month", Integer.parseInt(jComboBox2.getSelectedItem().toString()));
        map.put("Value2", jComboBox2.getSelectedIndex());

        URL reportFileURL = getClass().getResource("../ireports/MyReport.jrxml");
        File reportFile = new File(reportFileURL.toURI());
        JasperDesign jasperDesign = JRXmlLoader.load(reportFile);
        JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map, con);