我已经从我的参数中输入了名称 kem 的输入列表。它是kem 1, kem 2, kem 3. 我已经创建$x{in,pd_id,Kem}了一个参数,但结果只显示kem 1了三个 kem。我想要的是当我输入 kem 的列表名称时,数据将显示所有数据。即kem 1, kem 2, kem 3。这是我的代码:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="testspace" language="javascript" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
    <parameter name="kem" class="java.util.Collection">
        <defaultValueExpression><![CDATA[]]></defaultValueExpression>
    </parameter>
    <queryString>
        <![CDATA[select
PD_ID,
PD_NAME
from wf_proc_def where $X{IN,PD_ID,kem}]]>
    </queryString>
    <field name="PD_ID" class="java.math.BigDecimal"/>
    <field name="PD_NAME" class="java.lang.String"/>
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band height="79" splitType="Stretch">
            <textField isBlankWhenNull="true">
                <reportElement x="118" y="24" width="334" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[ ("1".equals($P{kem})) ? "kem1"
:("2".equals($P{kem})) ? "kem2"
:("3".equals($P{kem})) ? "kem3"
:("4".equals($P{kem})) ? "kem4"
:("5".equals($P{kem})) ? "kem5"
:null]]></textFieldExpression>
            </textField>
        </band>
    </title>
</jasperReport>
    
