具有多个过滤器的 Ireports

Ireports with multiple filters

我正在使用 SQL 查询设计关于 Ireport 的报告,我正在使用过滤器,基本上我希望能够将输入参数 "shift" 与我的报告,所以我可以轮班显示我的报告。

报告的这一部分工作正常,我只是使用了一个过滤表达式 $F{Shift}.equals( $P{shift} ),但这只适用于一个班次,但我还希望能够在同一份报告中看到所有班次。有办法吗?

正如@Pu297 所建议的,我可以在我的 SQL 查询中使用 IN 比较,但设置如下:

SELECT * FROM foo WHERE shift IN P!{shift}

我的 shift ireport 参数是 String,我以 "1,2,3" 的方式输入它以显示前 3 个班次

您的SQl查询

SELECT * FROM foo WHERE shift IN ($P!{shift})

你的输入文字应该是

'1','2','3'