空白时在图像旁边删除线条

时间:2014-10-01 14:51:58

标签: jasper-reports

所以我想出了如何删除一个文本框,当它为空/空时它的空间会崩溃。

但现在我在页面的另一侧有一个停止此功能的图像。

我猜是因为它在同一条线上它不会破坏空间。

这就是它的样子:

...                                                     -------------------
Address 1                                              |                   |  
Address 2 (if blank remove)                            |       PICTURE     |
Address 3 (if blank remove)                            |                   |
...                                                     -------------------

有没有办法让图像不影响这个?我可以把它放在一个框架或什么的?还是有一个我不知道的财产?

希望有人之前遇到过此事。

1 个答案:

答案 0 :(得分:8)

由于您已经找到了“如何删除文本框并且当它为空/空白时空间崩溃”,我假设您了解isBlankWhenNull="true"isRemoveLineWhenBlank="true"等属性。 / p>

但是现在你在相同的垂直空间中有一张图片以及地址字段。所以你必须将它们放入两个不同的垂直框架。将字段Address1,Address2,Address3等包含在一帧中,并将图像包含在其他帧中。以下是测试它的示例JRXML代码。将此代码保存为report2.jrxml并运行它。播放parm1 ... parm5的值以获得所需的输出。

<?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="report2" language="groovy" pageWidth="979" pageHeight="693" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="979" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="a6ccd207-3a74-42e6-8486-fc3b01795fb5">
    <parameter name="par1" class="java.lang.String">
        <defaultValueExpression><![CDATA[null]]></defaultValueExpression>
    </parameter>
    <parameter name="par2" class="java.lang.String">
        <defaultValueExpression><![CDATA[null]]></defaultValueExpression>
    </parameter>
    <parameter name="par3" class="java.lang.String">
        <defaultValueExpression><![CDATA[null]]></defaultValueExpression>
    </parameter>
    <parameter name="par4" class="java.lang.String">
        <defaultValueExpression><![CDATA[null]]></defaultValueExpression>
    </parameter>
    <parameter name="par5" class="java.lang.String">
        <defaultValueExpression><![CDATA[null]]></defaultValueExpression>
    </parameter>
    <pageHeader>
        <band height="174" splitType="Stretch">
            <line>
                <reportElement x="10" y="61" width="520" height="1" uuid="9e329029-596a-4741-80b2-4dd31e7f0a2a"/>
            </line>
            <line>
                <reportElement x="10" y="157" width="520" height="1" uuid="eee16285-f6e5-4275-9911-b8ba0b330c08"/>
            </line>
            <frame>
                <reportElement x="46" y="65" width="154" height="76" uuid="fac4c0b1-a3b2-431a-b766-1954512e5b12"/>
                <textField isBlankWhenNull="true">
                    <reportElement x="42" y="20" width="52" height="20" isRemoveLineWhenBlank="true" uuid="949799db-d6be-404d-98c5-e6a69c0d917f"/>
                    <box leftPadding="10">
                        <topPen lineWidth="1.0"/>
                        <leftPen lineWidth="1.0"/>
                        <bottomPen lineWidth="1.0"/>
                        <rightPen lineWidth="1.0"/>
                    </box>
                    <textFieldExpression><![CDATA[$P{par3} == null ? null : "P3: " + $P{par3}]]></textFieldExpression>
                </textField>
                <textField isBlankWhenNull="true">
                    <reportElement x="42" y="0" width="52" height="20" isRemoveLineWhenBlank="true" uuid="a1b3fa51-8c0e-496d-8759-2a51eb58bc33"/>
                    <box leftPadding="10">
                        <topPen lineWidth="1.0"/>
                        <leftPen lineWidth="1.0"/>
                        <bottomPen lineWidth="1.0"/>
                        <rightPen lineWidth="1.0"/>
                    </box>
                    <textFieldExpression><![CDATA[$P{par1} == null ? null : "P1: " + $P{par1}]]></textFieldExpression>
                </textField>
                <textField isBlankWhenNull="true">
                    <reportElement x="42" y="40" width="52" height="20" isRemoveLineWhenBlank="true" uuid="3944fa92-8b0c-4965-81c2-036696bb1295"/>
                    <box leftPadding="10">
                        <topPen lineWidth="1.0"/>
                        <leftPen lineWidth="1.0"/>
                        <bottomPen lineWidth="1.0"/>
                        <rightPen lineWidth="1.0"/>
                    </box>
                    <textFieldExpression><![CDATA[$P{par5} == null ? null : "P5: " + $P{par5}]]></textFieldExpression>
                </textField>
            </frame>
            <frame>
                <reportElement x="341" y="65" width="189" height="76" uuid="b074b915-2d61-4df8-95b1-12e3901b0604"/>
                <textField isBlankWhenNull="true">
                    <reportElement x="62" y="0" width="52" height="20" isRemoveLineWhenBlank="true" uuid="8c371d13-9eb4-4cf6-b9b8-38052e0dc933"/>
                    <box leftPadding="10">
                        <topPen lineWidth="1.0"/>
                        <leftPen lineWidth="1.0"/>
                        <bottomPen lineWidth="1.0"/>
                        <rightPen lineWidth="1.0"/>
                    </box>
                    <textFieldExpression><![CDATA[$P{par2} == null ? null : "P2: " + $P{par2}]]></textFieldExpression>
                </textField>
                <textField isBlankWhenNull="true">
                    <reportElement x="62" y="20" width="52" height="20" isRemoveLineWhenBlank="true" uuid="eee7c8ca-a46c-40f1-9701-36a388357108"/>
                    <box leftPadding="10">
                        <topPen lineWidth="1.0"/>
                        <leftPen lineWidth="1.0"/>
                        <bottomPen lineWidth="1.0"/>
                        <rightPen lineWidth="1.0"/>
                    </box>
                    <textFieldExpression><![CDATA[$P{par4} == null ? null : "P4: " + $P{par4}]]></textFieldExpression>
                </textField>
            </frame>
        </band>
    </pageHeader>
</jasperReport>

输出: 当所有参数都非空时 When all params are non null

输出:当P3为空时 When P3 is null