2013-12-13 110 views
1

我有一个主要的详细信息与2个子报告背靠背vertically他们没有太多的空间,因为主报告是相当长的....我已经在子报告中指定FLOAT属性一切工作顺利,当数据都填充在空间中分配它在IREPORT,但是当他们有很多行我的意思是3 or more rows第二个子报表Materiales重叠下一个组件...我想如果一些子报表需要更多的空间,它会推下一个组件。 TRABAJOS REALIZADOSFrame with Float property,但是没有按下框架保持的位置和重叠由Materiales sub-report..Jasperreports多个子报告重叠

我的ireport设计。

enter image description here

my source code some tags are ommited by brevity

<detail> 
    <band height="770" splitType="Stretch"> 
     .... others tags ommited by brevity 
     <frame> 
      <reportElement positionType="Float" x="0" y="401" width="554" height="70"/> 
      <subreport runToBottom="false"> 
       <reportElement positionType="Float" x="1" y="1" width="553" height="69"/> 
       <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{munichs})]]></dataSourceExpression> 
       <subreportExpression class="java.io.InputStream"><![CDATA[$P{SUBREPORT_EXPRESSION}]]></subreportExpression> 
      </subreport>     
     </frame> 
     <frame> 
      <reportElement positionType="Float" x="2" y="472" width="551" height="128"/> 
      <subreport runToBottom="false"> 
       <reportElement positionType="Float" x="1" y="44" width="545" height="83"/> 
       <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{venices})]]></dataSourceExpression> 
       <subreportExpression class="java.io.InputStream"><![CDATA[$P{SUBREPORT_EXPRESSION_SECOND_REPORT}]]></subreportExpression> 
      </subreport> 
        </frame>    
     <frame><!--this frame is not pushed down and gets overlapped...--> 
      <reportElement positionType="Float" x="0" y="599" width="554" height="171"/> 
      <rectangle> 
       <reportElement x="2" y="1" width="180" height="20"/> 
      </rectangle> 
      <staticText> 
       <reportElement x="2" y="1" width="178" height="20"/> 
       <textElement/> 
       <text><![CDATA[TRABAJOS PENDIENTES]]></text> 
      </staticText> 
      <rectangle> 
       <reportElement x="2" y="21" width="550" height="38"/> 
      </rectangle> 
      <textField> 
       <reportElement x="3" y="21" width="551" height="38"/> 
       <textElement/> 
       <textFieldExpression class="java.lang.String"><![CDATA[$F{observations}]]></textFieldExpression> 
      </textField> 
      <staticText> 
       <reportElement x="2" y="64" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[FIRMA OPERADOR: ]]></text> 
      </staticText> 
      <staticText> 
       <reportElement x="333" y="64" width="107" height="20"/> 
       <textElement/> 
       <text><![CDATA[CONFORME CLIENTE:]]></text> 
      </staticText> 
      <image> 
       <reportElement x="442" y="63" width="22" height="22"/> 
       <imageExpression class="java.io.InputStream"><![CDATA[$F{sign}]]></imageExpression> 
      </image> 
      <staticText> 
       <reportElement x="188" y="90" width="66" height="20"/> 
       <textElement/> 
       <text><![CDATA[FIRMA Y DNI:]]></text> 
      </staticText> 
      <image> 
       <reportElement x="257" y="89" width="22" height="22"/> 
       <imageExpression class="java.io.InputStream"><![CDATA[$F{conformity}]]></imageExpression> 
      </image> 
      <image> 
       <reportElement x="281" y="89" width="264" height="32"/> 
       <imageExpression class="java.io.InputStream"><![CDATA[$F{imageForSign}]]></imageExpression> 
      </image> 
      <textField> 
       <reportElement x="2" y="122" width="543" height="49"/> 
       <textElement/> 
       <textFieldExpression class="java.lang.String"><![CDATA[$P{lopd}]]></textFieldExpression> 
      </textField> 
     </frame> 


    </band> 
</detail> 

IReport image

enter image description here 我与重叠PDF ..

enter image description here

1

+0

你的帖子不是很清楚。 – user845279

+0

将subreport positionType的属性设置为Float。它会解决你的问题。 – user1791574

+0

请不要在问题标题中加入“已解决”。改为接受答案。 (你可以接受你自己的答案,但只能在48小时后。) – GenericJon

回答

4

可以通过增加细节带的高度尝试,如果不工作,你可以添加一个细节,每一个子报告。

要添加详细乐队,请右键单击“详细信息”,然后添加第二乐队并复制此乐队下的第二个子报告。

+0

我已经尝试了一堆解决方法,只有你的workarond为我工作了很多,非常感谢......它增加了一个新的'Detail Band',并把我的东西放在那里.. – chiperortiz

+0

但随后报告显示在其他页面中。我想在一个页面中显示3个子报告。怎么做?。你能帮我吗 ?!!! –

+0

只需为每个子报表添加详细的波段。 – Sharad

1

调整一个在另一个子报告下方的高度,因为您已经将位置类型设置为浮动,它将起作用进行调整。 如果您制作组并放置相应,它也将工作。

+0

改善这一点,以便它看起来像一个答案,而不是评论 –