我正在使用 iReport 4.5.0 使用嵌入式 sql 查询 创建 JR 报告。
我已经在查询中添加了参数。但我想提供灵 active ,以便用户可以传递参数或不能传递参数,以便相同的报告可以与我的 Web 应用程序一起使用。
谁能告诉我如何使我的报告如此灵活,以便用户可以或不能传递参数。
我像这样修改了queryString:
SELECT columnA, ColumnB FROM Table WHERE Table."columnA" = $P!{}
但是 iReport 未能生成报告。
最佳答案
我通常遵循这种模式:像您一样定义 $P{MyParam}。然后添加带有默认值的 $P{MyParam_SQL},如下所示:
$P{MyParam} == null ? "1=1" : "columnA = '" + $P{MyParam} + "'"
而报表中的SQL是这样的:
SELECT columnA, ColumnB
FROM table
WHERE
some_filters
AND $P!{MyParam_SQL}
AND some_other_stuff
它与其他两个建议的答案没有根本区别。但是我觉得这样很容易理解和维护。
关于java - 如何将可选参数传递给报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13085317/