Search code examples
jasper-reports

How to properly stretch with overflow for non-detail band


I have fields in title and page header that have multiple lines. I want them to stretch vertically but the problem is the field below the stretched field is missing. I also grouped them using a frame.

The properties I set:

Position Type : Float
Stretch Type : Relative to Tallest Object
Stretch With Overflow : True

Please see below screen shot. enter image description here


Solution

  • You can try these properties of text : -

    For first field (Cashier Name) of title band use this properties :-

    Position Type-         Fix Relative to Top
    
    Stretch Type-          Relative to Band Height
    
    Stretch With Overflow -    true
    

    For the second field (Date) set these properties

    Position Type-         Fix Relative to Bottom
    
    Stretch Type-          No stretch
    
    Stretch With Overflow-     false
    

    In this report you can see the properties if you run the report with Sample HSQL database in ireport :-

    <?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="ward utilization" pageWidth="300" pageHeight="300" orientation="Landscape" columnWidth="280" leftMargin="10" rightMargin="10" topMargin="10" bottomMargin="10" uuid="85476864-df43-454c-83dd-9c1b475ec223">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <queryString>
        <![CDATA[select * from orders]]>
    </queryString>
    <field name="ORDERID" class="java.lang.Integer"/>
    <field name="CUSTOMERID" class="java.lang.String"/>
    <field name="EMPLOYEEID" class="java.lang.Integer"/>
    <field name="ORDERDATE" class="java.sql.Timestamp"/>
    <field name="REQUIREDDATE" class="java.sql.Timestamp"/>
    <field name="SHIPPEDDATE" class="java.sql.Timestamp"/>
    <field name="SHIPVIA" class="java.lang.Integer"/>
    <field name="FREIGHT" class="java.math.BigDecimal"/>
    <field name="SHIPNAME" class="java.lang.String"/>
    <field name="SHIPADDRESS" class="java.lang.String"/>
    <field name="SHIPCITY" class="java.lang.String"/>
    <field name="SHIPREGION" class="java.lang.String"/>
    <field name="SHIPPOSTALCODE" class="java.lang.String"/>
    <field name="SHIPCOUNTRY" class="java.lang.String"/>
    <group name="bed"/>
    <title>
        <band height="42">
            <textField isStretchWithOverflow="true">
                <reportElement uuid="c438eefe-5415-409e-8e7c-c763a7305ae2" stretchType="RelativeToBandHeight" x="87" y="0" width="24" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{SHIPNAME}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement uuid="83c8a0d7-af5f-43ec-88dd-7d923a5b2a28" positionType="FixRelativeToBottom" x="87" y="21" width="24" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{SHIPCITY}]]></textFieldExpression>
            </textField>
        </band>
    </title>