I have an invoice Report that contains 5 different subreports. Each of the subreports prints fine on it's own (3 of them use a different datasource than the master). The problem I am now running into is that (in iReport 1.2.2) I layout the report like this: (all in the detail band) subReport1 (Executive Summary) subReport2 (Local Service Charges) subReport3 (Long Distance Details - Format 1) subReport4 (Long Distance Details - Format 2) subreport5 (Toll Free Call Details) But when I populate the report for various customers (both as a PDF file and through previewing with the viewer), the sections *after* the Executive Summary appear on the page 'randomly'. The Executive Summary is 'locked' to the top of the section, while the other 4 subreports are set to 'float'. I've noticed that I can 'predict' how the various sections will be ordered based on what sort of information will appear on the invoice (not all have all the types of services/call details so those sections are set to not print when there is no data). What I'm wondering is if the 'float' setting is causing this to happen. I really need the sections to be printed in the order they appear in the design so invoices won't look different month to month and/or between different customers. < ------ current version of Invoice jrxml ------ > <?xml version="1.0" encoding="UTF-8" ?> <!-- Created with iReport - A designer for JasperReports --> <!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"> <jasperReport name="Invoice_Std_01" columnCount="1" printOrder="Vertical" orientation="Portrait" pageWidth="595" pageHeight="842" columnWidth="555" columnSpacing="0" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" whenNoDataType="NoPages" isTitleNewPage="false" isSummaryNewPage="false"> <property name="ireport.scriptlethandling" value="0" /> <property name="ireport.encoding" value="UTF-8" /> <import value="java.util.*" /> <import value="net.sf.jasperreports.engine.*" /> <import value="net.sf.jasperreports.engine.data.*" /> <parameter name="pInvoiceID" isForPrompting="true" class="java.lang.Long"> <defaultValueExpression ><![CDATA[new Long(1)]]></defaultValueExpression> </parameter> <parameter name="SUBREPORT_DIR" isForPrompting="true" class="java.lang.String"> <defaultValueExpression ><![CDATA["F:\Shared\Shared Java Components\JasperReports\CIMS\"]]></defaultValueExpression> </parameter> <parameter name="conCDRInfo" isForPrompting="true" class="java.sql.Connection"> <parameterDescription><![CDATA[Database Connection to Call Records Database]]></parameterDescription> </parameter> <queryString><![CDATA[sELECT BillCycle_InvoiceGroup.Description AS AccountName, Invoice.InvoiceDate, Invoice.DueDate, Invoice.TermsID, Invoice.InvoiceID FROM Invoice LEFT JOIN BillCycle_InvoiceGroup ON Invoice.InvoiceGroupID = BillCycle_InvoiceGroup.BillCycleInvoiceGroupID WHERE Invoice.InvoiceID = $P!{pInvoiceID};]]></queryString> <field name="AccountName" class="java.lang.String"/> <field name="InvoiceDate" class="java.util.Date"/> <field name="DueDate" class="java.sql.Timestamp"/> <field name="TermsID" class="java.math.BigDecimal"/> <field name="InvoiceID" class="java.lang.Long"/> <background> <band height="0" isSplitAllowed="true" > </band> </background> <title> <band height="104" isSplitAllowed="true" > <staticText> <reportElement x="209" y="11" width="339" height="24" forecolor="#CC0000" key="staticText-1" positionType="Float"/> <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/> <textElement verticalAlignment="Top"> <font pdfFontName="Helvetica-Bold" size="18" isBold="true"/> </textElement> <text><![CDATA[invoice and Account Statement]]></text> </staticText> <image isUsingCache="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="4" y="10" width="198" height="89" key="image-1" positionType="Float"/> <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/> <graphicElement stretchType="NoStretch"/> <imageExpression class="java.lang.String"><![CDATA["F:\Shared\CIMS\images\dti_logo.gif"]]></imageExpression> </image> <staticText> <reportElement x="210" y="32" width="336" height="16" forecolor="#999999" key="staticText-2" positionType="Float"/> <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/> <textElement> <font size="12" isBold="true"/> </textElement> <text><![CDATA[24 Hour Customer Care: 1-877-pickdti (1-877-742-5384)]]></text> </staticText> <staticText> <reportElement x="207" y="50" width="52" height="14" key="staticText-3" positionType="Float"/> <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/> <textElement rotation="None"> <font fontName="Arial" size="12" isBold="true"/> </textElement> <text><![CDATA[Account:]]></text> </staticText> <staticText> <reportElement x="207" y="65" width="82" height="14" key="staticText-4" positionType="Float"/> <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/> <textElement verticalAlignment="Middle"> <font fontName="Arial" size="12" isBold="true"/> </textElement> <text><![CDATA[invoice Date:]]></text> </staticText> <textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="266" y="50" width="286" height="14" key="textField"/> <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/> <textElement> <font fontName="Arial" size="12" isBold="false"/> </textElement> <textFieldExpression class="java.lang.String"><![CDATA[$F{AccountName}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="false" pattern="MMMMM dd, yyyy" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="294" y="65" width="258" height="14" key="textField"/> <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/> <textElement> <font fontName="Arial" size="12"/> </textElement> <textFieldExpression class="java.util.Date"><![CDATA[$F{InvoiceDate}]]></textFieldExpression> </textField> <staticText> <reportElement x="207" y="83" width="102" height="14" key="staticText-5" positionType="Float"/> <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/> <textElement verticalAlignment="Middle"> <font fontName="Arial" size="12" isBold="true"/> </textElement> <text><![CDATA[invoice Number:]]></text> </staticText> <textField isStretchWithOverflow="false" pattern="###0;-###0" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement x="306" y="83" width="242" height="14" key="textField-1"/> <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/> <textElement> <font fontName="Arial" size="12"/> </textElement> <textFieldExpression class="java.lang.Long"><![CDATA[$P{pInvoiceID}]]></textFieldExpression> </textField> </band> </title> <pageHeader> <band height="0" isSplitAllowed="true" > </band> </pageHeader> <columnHeader> <band height="0" isSplitAllowed="true" > </band> </columnHeader> <detail> <band height="138" isSplitAllowed="true" > <subreport isUsingCache="true"> <reportElement x="3" y="2" width="550" height="24" key="subExecutiveSummary" isRemoveLineWhenBlank="true"/> <subreportParameter name="pInvoiceID"> <subreportParameterExpression><![CDATA[$P{pInvoiceID}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="SUBREPORT_DIR"> <subreportParameterExpression><![CDATA[$P{SUBREPORT_DIR}]]></subreportParameterExpression> </subreportParameter> <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> <subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "Invoice_Std_01_ExecSummary.jasper"]]></subreportExpression> </subreport> <subreport isUsingCache="true"> <reportElement mode="Transparent" x="3" y="30" width="550" height="24" key="subLocalService" positionType="Float"/> <subreportParameter name="SUBREPORT_DIR"> <subreportParameterExpression><![CDATA[$P{SUBREPORT_DIR}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="pInvoiceID"> <subreportParameterExpression><![CDATA[$P{pInvoiceID}]]></subreportParameterExpression> </subreportParameter> <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> <subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "Invoice_Std_01_LocalService.jasper"]]></subreportExpression> </subreport> <subreport isUsingCache="true"> <reportElement x="3" y="58" width="550" height="24" key="subLongDistance-NoAcctCodes" positionType="Float"/> <subreportParameter name="pInvoiceID"> <subreportParameterExpression><![CDATA[$P{pInvoiceID}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="conCDRInfo"> <subreportParameterExpression><![CDATA[$P{conCDRInfo}]]></subreportParameterExpression> </subreportParameter> <connectionExpression><![CDATA[$P{conCDRInfo}]]></connectionExpression> <subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "Invoice_Std_01_LongDistanceService_NoAcctCodes.jasper"]]></subreportExpression> </subreport> <subreport isUsingCache="true"> <reportElement mode="Transparent" x="3" y="86" width="550" height="24" key="subLongDistance-AcctCodes" positionType="Float"/> <subreportParameter name="pInvoiceID"> <subreportParameterExpression><![CDATA[$P{pInvoiceID}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="conCDRInfo"> <subreportParameterExpression><![CDATA[$P{conCDRInfo}]]></subreportParameterExpression> </subreportParameter> <connectionExpression><![CDATA[$P{conCDRInfo}]]></connectionExpression> <subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "Invoice_Std_01_LongDistanceService_AcctCodes.jasper"]]></subreportExpression> </subreport> <subreport isUsingCache="true"> <reportElement x="3" y="114" width="550" height="24" key="subTollFree_CallDetail" positionType="Float"/> <subreportParameter name="pInvoiceID"> <subreportParameterExpression><![CDATA[$P{pInvoiceID}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="conCDRInfo"> <subreportParameterExpression><![CDATA[$P{conCDRInfo}]]></subreportParameterExpression> </subreportParameter> <connectionExpression><![CDATA[$P{conCDRInfo}]]></connectionExpression> <subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "Invoice_Std_01_TollFreeService_CallDetail.jasper"]]></subreportExpression> </subreport> </band> </detail> <columnFooter> <band height="0" isSplitAllowed="true" > </band> </columnFooter> <pageFooter> <band height="0" isSplitAllowed="true" > </band> </pageFooter> <summary> <band height="0" isSplitAllowed="true" > </band> </summary> </jasperReport>