我正在使用以下方法编写报告iReport http://en.wikipedia.org/wiki/JasperReports#Third-party_tools我想在其中添加空值条件。它使用单选选项:
(city=$P{p_city} or $P{p_city} is null)
这意味着如果我们不为城市参数传递任何值,报告将起作用,但在多选选项的情况下不起作用。当我们创建参数时,我们必须在 iReport 中选择一个“Collection”值表达式:
($X{IN, country,p_country} or $P{p_country} is null)
我在中创建了两个输入控件JasperReports服务器 http://en.wikipedia.org/wiki/JasperReports#Jaspersoft运行此报告。一种是单选“选择城市”,另一种是多选“选择国家”,报表运行时没有传递“选择城市”参数的值,但对于“选择国家”参数,我们必须传递该值,因为“选择国家”是多选且是集合类型参数,并且不能在查询中为城市参数添加空条件。
我们如何修改JRXML http://en.wikipedia.org/wiki/JasperReports#JRXML query?
$X 功能会自动处理这个问题。在您的情况下,您的查询中有这样的内容:
$X{IN, country, p_country}
这会转换为1 = 1
如果您的 Collection 为 null。所以没有理由添加$P{p_country} is null
进入查询。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)