0

レポート テンプレート ( jrxmlファイル)の作成にiReport 4.5.1を使用しています。

メインレポートとサブレポートがあります。メイン レポートには、パラメーターと変数があります。パラメーターPGNUMと変数PAGE_NUMBERです。サブレポートには、2 つのフレーム ( Frame AFrame B )、変数TempPAGENUM、および Parameter PGNUMがあります。

すべてのレポートでページの番号付けにPAGE_NUMBERを使用しているため、その変数をメイン レポートのページ ヘッダーバンドに配置します。

PGNUMは、 PAGE_NUMBER変数によって生成される番号ページの値を渡すために使用するパラメーターです。

私の目的は、サブレポートのフレーム Aが式のときに印刷さ れ、フレーム Bが式のときに印刷されるようにすること です。TempPAGENUM modulo 6 not equal 1TempPAGENUMBER modulo 6 is equal 1

したがって、問題は、サブレポートへのパラメータ入力にパラメータ PGNUM を使用、メインレポート計算されるPAGE_NUMBERを使用している場合ですが、サブレポートのTempPAEGNUMの変数が「初期値式」でもインクリメントされない理由です。パラメータ入力として。 変数TempPAGENUMはインクリメントされず、私の目標は失敗しました。TempPAGENUMBERが 6 値になることはないため、フレーム B は表示されません。

この問題で私を助けてもらえますか?

主なレポート:

<?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="isat_new_form" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="502" leftMargin="56" rightMargin="37" topMargin="28" bottomMargin="42" whenResourceMissingType="Key">
    <style name="Style 1" mode="Opaque">
        <box>
            <topPen lineWidth="1.0"/>
            <leftPen lineWidth="1.0"/>
            <bottomPen lineWidth="1.0"/>
            <rightPen lineWidth="1.0"/>
        </box>
    </style>
    <style name="table_CH" mode="Opaque" backcolor="#999999">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
        <defaultValueExpression><![CDATA["C:\\Users\\skyeres\\Desktop\\kirim\\"]]></defaultValueExpression>
    </parameter>
    <parameter name="PGNUM" class="java.lang.Integer"/>
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band>
            <printWhenExpression><![CDATA[new Boolean($V{PAGE_NUMBER}.intValue() == 0)]]></printWhenExpression>
        </band>
    </title>
    <pageHeader>
        <band height="10" splitType="Stretch">
            <textField>
                <reportElement x="319" y="0" width="131" height="10"/>
                <textElement textAlignment="Right">
                    <font fontName="Arial" size="7"/>
                </textElement>
                <textFieldExpression><![CDATA["Page : "+$V{PAGE_NUMBER}]]></textFieldExpression>
            </textField>
            <textField evaluationTime="Report">
                <reportElement x="458" y="0" width="38" height="10"/>
                <textElement>
                    <font fontName="Arial" size="7"/>
                </textElement>
                <textFieldExpression><![CDATA["-  "+$V{PAGE_NUMBER}]]></textFieldExpression>
            </textField>
            <staticText>
                <reportElement x="0" y="0" width="213" height="10"/>
                <textElement>
                    <font fontName="Arial" size="7"/>
                </textElement>
                <text><![CDATA[Sample Invoice. For Testing Purpose Only]]></text>
            </staticText>
        </band>
    </pageHeader>
    <columnHeader>
        <band splitType="Stretch"/>
    </columnHeader>
    <detail>
        <band height="762">
            <printWhenExpression><![CDATA[]]></printWhenExpression>
            <subreport>
                <reportElement x="0" y="0" width="502" height="762"/>
                <subreportParameter name="SUBREPORT_DIR">
                    <subreportParameterExpression><![CDATA[$P{SUBREPORT_DIR}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="PGNUM">
                    <subreportParameterExpression><![CDATA[$P{PGNUM}]]></subreportParameterExpression>
                </subreportParameter>
                <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "subreport.jasper"]]></subreportExpression>
            </subreport>
        </band>
    </detail>
    <pageFooter>
        <band>
            <printWhenExpression><![CDATA[new Boolean($V{PAGE_NUMBER}.intValue() == 1)]]></printWhenExpression>
        </band>
    </pageFooter>
</jasperReport>

サブレポート:

<?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="deploy_details" language="groovy" pageWidth="502" pageHeight="842" columnWidth="502" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0">
    <style name="table_CH" mode="Opaque" backcolor="#999999">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
        <defaultValueExpression><![CDATA["D:\\DEMO\\JasperFormat\\"]]></defaultValueExpression>
    </parameter>
    <parameter name="PGNUM" class="java.lang.Integer"/>
    <variable name="tempPAGENUM" class="java.lang.Integer" incrementType="Page" calculation="Sum">
        <variableExpression><![CDATA[$V{tempPAGENUM}+1]]></variableExpression>
        <initialValueExpression><![CDATA[$V{PAGE_NUMBER}+$P{PGNUM}]]></initialValueExpression>
    </variable>
    <detail>
        <band height="762" splitType="Stretch">
            <frame>
                <reportElement isPrintRepeatedValues="false" mode="Opaque" x="62" y="71" width="114" height="43" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" backcolor="#000000">
                    <printWhenExpression><![CDATA[$V{tempPAGENUM} % 6 != 1]]></printWhenExpression>
                </reportElement>
                <staticText>
                    <reportElement mode="Transparent" x="15" y="12" width="83" height="18" forecolor="#FFFFFF"/>
                    <textElement/>
                    <text><![CDATA[FrameA]]></text>
                </staticText>
            </frame>
            <frame>
                <reportElement isPrintRepeatedValues="false" mode="Opaque" x="191" y="71" width="114" height="43" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" backcolor="#000000">
                    <printWhenExpression><![CDATA[$V{tempPAGENUM} % 6 == 1]]></printWhenExpression>
                </reportElement>
                <staticText>
                    <reportElement mode="Transparent" x="15" y="12" width="83" height="18" forecolor="#FFFFFF"/>
                    <textElement/>
                    <text><![CDATA[FrameB]]></text>
                </staticText>
            </frame>
        </band>
    </detail>
</jasperReport>
4

0 に答える 0