IReport subreports overlap

ireportjasper-reportssubreport

I have the following problem: In my master report in the detail section i have three subreports. I set Position Type on them to Float and Stretch type to Relative to Band Height but the result was not intended. The report was 500 pages long and just printed the content of the first subreport. What might be wrong?

<?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="Relatorio_Ivan_Master" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="96"/>
<parameter name="ID_FUNCIONARIO" class="java.lang.Integer">
    <defaultValueExpression><![CDATA[1]]></defaultValueExpression>
</parameter>
<parameter name="DTA_INICIO" class="java.util.Date"/>
<parameter name="DTA_TERMINO" class="java.util.Date"/>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
    <defaultValueExpression><![CDATA["/Users/marcosnatanpacheco/Desktop/"]]></defaultValueExpression>
</parameter>
<queryString>
    <![CDATA[SELECT idt_funcionario, nme_funcionario, dta_alocacao_local, dta_alocacao_recurso, dta_alocacao_servico FROM tb_funcionario AS t1
INNER JOIN ta_alocacao_local AS t2 ON t2.cod_funcionario = t1.idt_funcionario
INNER JOIN ta_alocacao_recurso AS t3 ON t3.cod_funcionario = t1.idt_funcionario
INNER JOIN ta_alocacao_servico AS t4 ON t4.cod_funcionario = t1.idt_funcionario
WHERE idt_funcionario = $P{ID_FUNCIONARIO};]]>
</queryString>
<field name="idt_funcionario" class="java.lang.Integer"/>
<field name="nme_funcionario" class="java.lang.String"/>
<field name="dta_alocacao_local" class="java.sql.Timestamp"/>
<field name="dta_alocacao_recurso" class="java.sql.Timestamp"/>
<field name="dta_alocacao_servico" class="java.sql.Timestamp"/>
<background>
    <band splitType="Stretch"/>
</background>
<title>
    <band height="79" splitType="Stretch"/>
</title>
<pageHeader>
    <band height="35" splitType="Stretch"/>
</pageHeader>
<columnHeader>
    <band height="37" splitType="Stretch">
        <staticText>
            <reportElement x="0" y="12" width="100" height="20"/>
            <textElement>
                <font size="14" isBold="true"/>
            </textElement>
            <text><![CDATA[Funcionário:]]></text>
        </staticText>
        <textField>
            <reportElement x="100" y="12" width="440" height="20"/>
            <textElement>
                <font size="14"/>
            </textElement>
            <textFieldExpression><![CDATA[$F{nme_funcionario}]]></textFieldExpression>
        </textField>
    </band>
</columnHeader>
<detail>
    <band height="312" splitType="Stretch">
        <subreport>
            <reportElement positionType="Float" stretchType="RelativeToBandHeight" x="0" y="0" width="555" height="100"/>
            <subreportParameter name="ID_FUNCIONARIO">
                <subreportParameterExpression><![CDATA[$P{ID_FUNCIONARIO}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="DTA_INICIO">
                <subreportParameterExpression><![CDATA[$P{DTA_INICIO}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="DTA_TERMINO">
                <subreportParameterExpression><![CDATA[$P{DTA_TERMINO}]]></subreportParameterExpression>
            </subreportParameter>
            <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
            <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "Relatorio_Ivan_Detail_Local.jasper"]]></subreportExpression>
        </subreport>
        <subreport>
            <reportElement positionType="Float" stretchType="RelativeToBandHeight" x="0" y="104" width="555" height="100"/>
            <subreportParameter name="ID_FUNCIONARIO">
                <subreportParameterExpression><![CDATA[$P{ID_FUNCIONARIO}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="DTA_INICIO">
                <subreportParameterExpression><![CDATA[$P{DTA_INICIO}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="DTA_TERMINO">
                <subreportParameterExpression><![CDATA[$P{DTA_TERMINO}]]></subreportParameterExpression>
            </subreportParameter>
            <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
            <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "Relatorio_Ivan_Detail_Recurso.jasper"]]></subreportExpression>
        </subreport>
        <subreport>
            <reportElement positionType="Float" stretchType="RelativeToBandHeight" x="0" y="209" width="555" height="100"/>
            <subreportParameter name="ID_FUNCIONARIO">
                <subreportParameterExpression><![CDATA[$P{ID_FUNCIONARIO}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="DTA_INICIO">
                <subreportParameterExpression><![CDATA[$P{DTA_INICIO}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="DTA_TERMINO">
                <subreportParameterExpression><![CDATA[$P{DTA_TERMINO}]]></subreportParameterExpression>
            </subreportParameter>
            <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
            <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "Relatorio_Ivan_Detail_Servico.jasper"]]></subreportExpression>
        </subreport>
    </band>
</detail>
<pageFooter>
    <band height="54" splitType="Stretch"/>
</pageFooter>
<summary>
    <band height="42" splitType="Stretch"/>
</summary>
</jasperReport>

Best Answer

I have found the solution. I created 3 detail bands and put one subreport per detail band! It worked fine!

Related Topic