2012-06-14 2 views
1

У меня есть следующая проблема: В моем основном отчете в разделе подробно у меня есть три подзаголовка. Я поставил Тип позиции на них Float и типа Stretch к Относительно диапазона Высота, но результат не был предназначен. Отчет составлял 500 страниц и просто печатал содержимое первого вложенного отчета. Что может быть неправильным?iReport subreports overlap

<?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> 
+0

Иногда вам просто нужно увеличить высоту полосы, в которой она находится, а затем отбросить вложенную часть вниз. – precose

+0

Как насчет разрыва страницы между каждым сообщением? –

+0

@jschoen Спасибо, но я не хочу сломать страницу. Второй субрепортаж должен начинаться после первых концов, а третий - после завершения второго. –

ответ

10

Я нашел решение. Я создал 3 подробно полос и положил один подотчет на деталь диапазон! Все прошло отлично!

+0

Спасибо, что нашли время, чтобы ответить на ваш собственный вопрос, это принесет пользу другим в будущем. Просто чтобы вы знали, что можете нажать галочку слева от своего ответа, чтобы отметить, как принято. –

+0

работал как шарм – Prozi