我正在使用Jasper Reports Studio,我有两个参数
ACTIVE_USER
= 1)或非活动状态(ACTIVE_USER
= 0)Active_Selection
。三种可能性是“非活动用户”(值= 0),“活跃用户”(值= 1),“所有用户”(值= 2)XML文件如下:
<ROOT>
<USER>
<NAME>Patrick</NAME>
<ACTIVE_USER>1</ACTIVE_USER>
</USER>
<USER>
<NAME>Fred</NAME>
<ACTIVE_USER>0</ACTIVE_USER>
</USER>
</ROOT>
我想根据Active_Selection
以下代码允许用户选择活动或非活动用户
<parameter name="Active_Selection" class="java.lang.Integer"/>
<queryString language="xPath">
<![CDATA[/ROOT/USER[ACTIVE_USER=$P{Active_Selection}]]]>
</queryString>
但是,如何让用户选择“有效”还是“非有效”或“所有用户”?
答案 0 :(得分:0)
此代码有效。
请注意使用带有默认值的参数来存储临时计算
<parameter name="MinActive" class="java.lang.Integer">
<defaultValueExpression><![CDATA[($P{Active_Selection}==0)?0:($P{Active_Selection}==1?1:0)]]></defaultValueExpression>
</parameter>
<parameter name="MaxActive" class="java.lang.Integer">
<defaultValueExpression><![CDATA[($P{Active_Selection}==0)?0:($P{Active_Selection}==1?1:2)]]></defaultValueExpression>
</parameter>
<queryString language="xPath">
<![CDATA[/ROOT/USER[ACTIVE_USER>=$P{MinActive} and ACTIVE_USER<=$P{MaxActive}]]]>
</queryString>