2014-10-01 26 views
4

所以我想出瞭如何刪除一個文本框,當它爲空/空白時它是空間摺疊。當圖像旁邊空白時刪除行

但是現在我在頁面的另一側停止了此功能。

我猜測,因爲它是在同一行上它不會崩潰的空間。

這是什麼樣子:

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

有沒有辦法有圖像沒有影響呢?我可以把它放在框架中嗎?還是有一個我不知道的財產?

希望以前有人遇到過這個。

回答

8

由於您已經想出了「如何刪除文本框並在空白空白時將其空間摺疊」,因此我假設您知道屬性isBlankWhenNull="true"isRemoveLineWhenBlank="true"

但是現在你在同一個垂直空間中有一張圖片和地址字段。所以你必須把它們放入兩個不同的垂直框架。將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> 

OUTPUT: 當所有PARAMS都是非空 When all params are non null

OUTPUT:當P3是空的XML When P3 is null

+0

謝謝你,我到底問題只是畫在一幀字段不會將其添加到框架中。我不得不手動將字段移動到XML中的框架中。 – Delphy 2014-10-22 17:49:28