Sub*_*shi 2 java jasper-reports
我正在使用iReport 4.5.0创建带有嵌入式sql查询的JR报告.
我已经在Query中添加了参数.但我希望提供灵活性,以便用户可以传递参数或不能传递参数,以便相同的报告可以与我的Web应用程序一起使用.
任何人都可以告诉我如何使我的报告更灵活,以便用户可以或不能传递参数.
我修改了queryString,如下所示:
SELECT columnA, ColumnB FROM Table WHERE Table."columnA" = $P!{}
Run Code Online (Sandbox Code Playgroud)
但是iReport无法生成报告.
我通常遵循这种模式:像你一样定义$ P {MyParam}.然后使用如下默认值添加$ P {MyParam_SQL}:
$P{MyParam} == null ? "1=1" : "columnA = '" + $P{MyParam} + "'"
Run Code Online (Sandbox Code Playgroud)
报告中的SQL是这样的:
SELECT columnA, ColumnB
FROM table
WHERE
some_filters
AND $P!{MyParam_SQL}
AND some_other_stuff
Run Code Online (Sandbox Code Playgroud)
它与其他两个建议的答案没有根本的区别.但我觉得这很容易理解和维护.
| 归档时间: |
|
| 查看次数: |
7028 次 |
| 最近记录: |