Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You can use this sample:</p> <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;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="year_sum_quarter" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"&gt; &lt;property name="ireport.zoom" value="1.0"/&gt; &lt;property name="ireport.x" value="0"/&gt; &lt;property name="ireport.y" value="0"/&gt; &lt;queryString&gt; &lt;![CDATA[]]&gt; &lt;/queryString&gt; &lt;field name="year" class="java.lang.Integer"/&gt; &lt;field name="month" class="java.lang.String"/&gt; &lt;field name="sum" class="java.lang.Integer"/&gt; &lt;field name="q" class="java.lang.Integer"/&gt; &lt;variable name="yearSum" class="java.lang.Integer" resetType="Group" resetGroup="yearGroup" calculation="Sum"&gt; &lt;variableExpression&gt;&lt;![CDATA[$F{sum}]]&gt;&lt;/variableExpression&gt; &lt;/variable&gt; &lt;variable name="qSum" class="java.lang.Integer" resetType="Group" resetGroup="quaterGroup" calculation="Sum"&gt; &lt;variableExpression&gt;&lt;![CDATA[$F{sum}]]&gt;&lt;/variableExpression&gt; &lt;/variable&gt; &lt;group name="yearGroup"&gt; &lt;groupExpression&gt;&lt;![CDATA[$F{year}]]&gt;&lt;/groupExpression&gt; &lt;groupFooter&gt; &lt;band height="20"&gt; &lt;textField&gt; &lt;reportElement x="100" y="0" width="100" height="20"/&gt; &lt;box leftPadding="10"&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="0.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="0.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA["Jan-Dec, " + $F{year}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField&gt; &lt;reportElement x="200" y="0" width="100" height="20"/&gt; &lt;box leftPadding="0"&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="0.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="0.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$V{yearSum}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;staticText&gt; &lt;reportElement x="0" y="0" 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="0.0"/&gt; &lt;/box&gt; &lt;textElement textAlignment="Center" verticalAlignment="Middle"&gt; &lt;font isBold="true" isItalic="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;staticText&gt; &lt;reportElement x="300" y="0" width="100" height="20"/&gt; &lt;box&gt; &lt;topPen lineWidth="1.0"/&gt; &lt;leftPen lineWidth="0.0"/&gt; &lt;bottomPen lineWidth="1.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement textAlignment="Center" verticalAlignment="Middle"&gt; &lt;font isBold="true" isItalic="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;/band&gt; &lt;/groupFooter&gt; &lt;/group&gt; &lt;group name="quaterGroup"&gt; &lt;groupExpression&gt;&lt;![CDATA[$F{year} + $F{q}]]&gt;&lt;/groupExpression&gt; &lt;/group&gt; &lt;columnHeader&gt; &lt;band height="50"&gt; &lt;staticText&gt; &lt;reportElement x="100" y="30" 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 textAlignment="Center" verticalAlignment="Middle"&gt; &lt;font isBold="true" isItalic="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[Month]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;staticText&gt; &lt;reportElement x="0" y="30" 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 textAlignment="Center" verticalAlignment="Middle"&gt; &lt;font isBold="true" isItalic="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[Year]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;staticText&gt; &lt;reportElement x="200" y="30" 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 textAlignment="Center" verticalAlignment="Middle"&gt; &lt;font isBold="true" isItalic="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[Month Sum]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;staticText&gt; &lt;reportElement x="300" y="30" 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 textAlignment="Center" verticalAlignment="Middle"&gt; &lt;font isBold="true" isItalic="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[Quarter Sum]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;/band&gt; &lt;/columnHeader&gt; &lt;detail&gt; &lt;band height="20" splitType="Stretch"&gt; &lt;staticText&gt; &lt;reportElement x="300" y="0" width="100" height="20"/&gt; &lt;box&gt; &lt;topPen lineWidth="0.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="0.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement textAlignment="Center" verticalAlignment="Middle"&gt; &lt;font isBold="true" isItalic="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;staticText&gt; &lt;reportElement x="0" y="0" width="100" height="20"/&gt; &lt;box&gt; &lt;topPen lineWidth="0.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="0.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement textAlignment="Center" verticalAlignment="Middle"&gt; &lt;font isBold="true" isItalic="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;textField&gt; &lt;reportElement x="0" y="0" width="100" height="20"&gt; &lt;printWhenExpression&gt;&lt;![CDATA[$V{yearGroup_COUNT} == 1]]&gt;&lt;/printWhenExpression&gt; &lt;/reportElement&gt; &lt;box leftPadding="10"&gt; &lt;topPen lineWidth="0.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="0.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$F{year}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField&gt; &lt;reportElement x="200" y="0" width="100" height="20"/&gt; &lt;box leftPadding="10"&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[$F{sum}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField&gt; &lt;reportElement x="100" y="0" width="100" height="20"/&gt; &lt;box leftPadding="10"&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[$F{month}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField evaluationTime="Group" evaluationGroup="quaterGroup" isBlankWhenNull="false"&gt; &lt;reportElement stretchType="RelativeToBandHeight" isPrintRepeatedValues="false" x="300" y="0" width="100" height="20" printWhenGroupChanges="quaterGroup"&gt; &lt;printWhenExpression&gt;&lt;![CDATA[$V{quaterGroup_COUNT} == 1]]&gt;&lt;/printWhenExpression&gt; &lt;/reportElement&gt; &lt;box leftPadding="10"&gt; &lt;topPen lineWidth="0.0"/&gt; &lt;leftPen lineWidth="1.0"/&gt; &lt;bottomPen lineWidth="0.0"/&gt; &lt;rightPen lineWidth="1.0"/&gt; &lt;/box&gt; &lt;textElement/&gt; &lt;textFieldExpression&gt;&lt;![CDATA[$V{qSum}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;line&gt; &lt;reportElement x="300" y="0" width="100" height="1" printWhenGroupChanges="quaterGroup"&gt; &lt;printWhenExpression&gt;&lt;![CDATA[$V{quaterGroup_COUNT} == 1]]&gt;&lt;/printWhenExpression&gt; &lt;/reportElement&gt; &lt;/line&gt; &lt;/band&gt; &lt;/detail&gt; &lt;/jasperReport&gt; </code></pre> <p>The result will be (in pdf format): <img src="https://i.stack.imgur.com/HOOpb.png" alt="Resulting report in PDF format"></p> <p>In this sample I've used two elements in the <em><code>Detail</code></em> band for the <code>Year</code> column: one <em><code>textField</code></em> with only vertical borders and with <strong><em><code>printWhenExpression: "$V{yearGroup_COUNT} == 1"</code></em></strong> property (I'm show it only once for the whole <strong>yearGroup</strong>) and one <em><code>staticText</code></em> without any text and with only vertical borders.</p> <p>I've used three elements in the <em><code>Detail</code></em> band for the <code>Quarter Sum</code> column:<br> one <em><code>textField</code></em> with only vertical borders and with <strong><em><code>printWhenExpression: "$V{quaterGroup_COUNT} == 1"</code></em></strong> property (I'm show it only once for the whole <strong>quaterGroup</strong>), one <em><code>staticText</code></em> without any text and with only vertical borders and the <em><code>line</code></em> element for drawing horizontal border with <strong><em><code>printWhenExpression: "$V{quaterGroup_COUNT} == 1"</code></em></strong> property.</p>
    singulars
    1. This table or related slice is empty.
    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