将“where condition”传递给导出pdf的jasperreports

时间:2012-08-22 21:23:05

标签: java jasper-reports ireport

一个简单的SQL表,包含两个属性和三行:

  

参考|名:

     

0 |第一

     

1 |第二

     

2 |第三

我有一个带有Swing的Java应用程序,通过JList显示它(每行连接两个字符串,引用和名称)。

我按下一个按钮,我使用从iReport编译的“from_ireport.jasper”成功导出整个数据库。我也可以从代码编译。

我想选择一个或多个元素,按下按钮并获得仅包含所选元素的pdf。我在哪里以及如何为jasper指定“where condition”?

我找不到一个简单的例子来看待。 感谢。

1 个答案:

答案 0 :(得分:1)

要解决此问题,您可以使用 JR 报告的参数。

例如,您可以使用此查询表达式:

<queryString>
        <![CDATA[SELECT reference, name FROM table WHERE $P!{whereCondition}]]>
</queryString>

用于传递参数值的Java代码示例:

Map<String, Object> params = new HashMap<String, Object>();
params.put("whereCondition", "reference > 0");
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, connection);

有关详细信息,请查看Query Sample