Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You can use 3 <em><code>textField</code></em> elements with <strong><em><code>isRemoveLineWhenBlank</code></em></strong> property set to <code>true</code> value.</p> <p>The sample (jrxml file):</p> <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;jasperReport .. topMargin="0" bottomMargin="0"&gt; &lt;parameter name="parameter1" class="java.lang.String"&gt; &lt;defaultValueExpression&gt;&lt;![CDATA[null]]&gt;&lt;/defaultValueExpression&gt; &lt;/parameter&gt; &lt;parameter name="parameter2" class="java.lang.String"&gt; &lt;defaultValueExpression&gt;&lt;![CDATA[null]]&gt;&lt;/defaultValueExpression&gt; &lt;/parameter&gt; &lt;parameter name="parameter3" class="java.lang.String"&gt; &lt;defaultValueExpression&gt;&lt;![CDATA[null]]&gt;&lt;/defaultValueExpression&gt; &lt;/parameter&gt; &lt;title&gt; &lt;band height="102" splitType="Stretch"&gt; &lt;textField isBlankWhenNull="true"&gt; &lt;reportElement x="163" y="9" width="100" height="20" isRemoveLineWhenBlank="true"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$P{parameter1} == null ? null : "Parameter1: " + $P{parameter1}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField isBlankWhenNull="true"&gt; &lt;reportElement x="163" y="29" width="100" height="20" isRemoveLineWhenBlank="true"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$P{parameter2} == null ? null : "Parameter2: " + $P{parameter2}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField isBlankWhenNull="true"&gt; &lt;reportElement x="163" y="49" width="100" height="20" isRemoveLineWhenBlank="true"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$P{parameter3} == null ? null : "Parameter3: " + $P{parameter3}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;staticText&gt; &lt;reportElement x="163" y="73" width="100" height="20"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;text&gt;&lt;![CDATA[Static text]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;line&gt; &lt;reportElement x="63" y="6" width="447" height="1"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="73" y="96" width="447" height="1"/&gt; &lt;/line&gt; &lt;/band&gt; &lt;/title&gt; &lt;/jasperReport&gt; </code></pre> <p>The report design in <code>iReport</code>: <img src="https://i.stack.imgur.com/c1EwB.png" alt="Report&#39;s design in iReport"></p> <p>For the <em>parameter1=null, parameter2=null, parameter1=value3</em> the result will be: <img src="https://i.stack.imgur.com/4a5ye.png" alt="The result in iReport (preview mode)"></p> <p><strong><em>UPDATE</em></strong></p> <p>For solving the problem of moving up the <em><code>textField</code></em> in case the element above was hide you can use the <em><code>Frame</code></em> container. You should add 2 frames (one per column) and put 2 <em><code>textField</code></em> elements (2 rows) in each frame.</p> <p>The sample (jrxml file):</p> <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;jasperReport .. topMargin="0" bottomMargin="0"&gt; &lt;parameter name="par1" class="java.lang.String"&gt; &lt;defaultValueExpression&gt;&lt;![CDATA[null]]&gt;&lt;/defaultValueExpression&gt; &lt;/parameter&gt; &lt;parameter name="par2" class="java.lang.String"&gt; &lt;defaultValueExpression&gt;&lt;![CDATA[null]]&gt;&lt;/defaultValueExpression&gt; &lt;/parameter&gt; &lt;parameter name="par3" class="java.lang.String"&gt; &lt;defaultValueExpression&gt;&lt;![CDATA[null]]&gt;&lt;/defaultValueExpression&gt; &lt;/parameter&gt; &lt;parameter name="par4" class="java.lang.String"&gt; &lt;defaultValueExpression&gt;&lt;![CDATA[null]]&gt;&lt;/defaultValueExpression&gt; &lt;/parameter&gt; &lt;title&gt; &lt;band height="80" splitType="Stretch"&gt; &lt;line&gt; &lt;reportElement x="10" y="6" width="520" height="1"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="10" y="72" width="520" height="1"/&gt; &lt;/line&gt; &lt;frame&gt; &lt;reportElement x="329" y="10" width="172" height="59"/&gt; &lt;frame&gt; &lt;reportElement x="13" y="3" width="60" height="54"/&gt; &lt;textField isBlankWhenNull="true"&gt; &lt;reportElement x="1" y="20" width="52" height="20" isRemoveLineWhenBlank="true"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$P{par3} == null ? null : "P3: " + $P{par3}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField isBlankWhenNull="true"&gt; &lt;reportElement x="1" y="0" width="52" height="20" isRemoveLineWhenBlank="true"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$P{par1} == null ? null : "P1: " + $P{par1}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;/frame&gt; &lt;frame&gt; &lt;reportElement x="73" y="3" width="70" height="54"/&gt; &lt;textField isBlankWhenNull="true"&gt; &lt;reportElement x="1" y="0" width="52" height="20" isRemoveLineWhenBlank="true"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$P{par2} == null ? null : "P2: " + $P{par2}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField isBlankWhenNull="true"&gt; &lt;reportElement x="1" y="20" width="52" height="20" isRemoveLineWhenBlank="true"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$P{par4} == null ? null : "P4: " + $P{par4}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;/frame&gt; &lt;/frame&gt; &lt;textField isBlankWhenNull="true"&gt; &lt;reportElement x="10" y="30" width="52" height="20" isRemoveLineWhenBlank="true"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$P{par3} == null ? null : "P3: " + $P{par3}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField isBlankWhenNull="true"&gt; &lt;reportElement x="10" y="10" width="52" height="20" isRemoveLineWhenBlank="true"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$P{par1} == null ? null : "P1: " + $P{par1}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField isBlankWhenNull="true"&gt; &lt;reportElement x="64" y="10" width="52" height="20" isRemoveLineWhenBlank="true"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$P{par2} == null ? null : "P2: " + $P{par2}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField isBlankWhenNull="true"&gt; &lt;reportElement x="64" y="30" width="52" height="20" isRemoveLineWhenBlank="true"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$P{par4} == null ? null : "P4: " + $P{par4}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;/band&gt; &lt;/title&gt; &lt;/jasperReport&gt; </code></pre> <p>The report design in <code>iReport</code>: <img src="https://i.stack.imgur.com/AOd0B.png" alt="The design in iReport. Two cases"></p> <p>For the <em>par1=null, par2=2, par3=3, par4=4</em> the result will be: <img src="https://i.stack.imgur.com/tGL2g.png" alt="The result in iReport preview. Two cases"></p> <p>You can compare the results - left side is done without using <code>frame</code> and the right side with <em><code>frame</code></em> elements.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload