2017-05-03 51 views
0

子报表:变量从报表总是空的主报告

<variable name="rota" class="java.lang.String" resetType="None"> 
    <variableExpression><![CDATA["ola"]]></variableExpression> 
    <initialValueExpression><![CDATA["ola"]]></initialValueExpression> 
</variable> 

主要报告:

<variable name="rota" class="java.lang.String" resetType="None"/> 
<title> 
    <band height="41"> 
     <textField isBlankWhenNull="false"> 
      <reportElement x="0" y="6" width="100" height="30" uuid="e7e71af8-3694-4255-9b94-0587f377f7d4"/> 
      <textElement markup="html"> 
       <font size="18"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$V{rota}]]></textFieldExpression> 
     </textField> 
    </band> 
</title> 
<detail> 
    <band height="282"> 
     <printWhenExpression><![CDATA[$V{REPORT_COUNT} == 1]]></printWhenExpression> 
     <subreport> 
      <reportElement x="-10" y="0" width="560" height="200" isPrintInFirstWholeBand="true" uuid="4bd58f02-975c-430f-87ad-41a55bd422ea"> 
       <printWhenExpression><![CDATA[$V{PAGE_COUNT} == 1]]></printWhenExpression> 
      </reportElement> 
      <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
      <returnValue subreportVariable="rota" toVariable="rota"/> 
      <subreportExpression><![CDATA["C:/Users/Pedro Fernandes/JaspersoftWorkspace/MyReports/ticketspartidasubreport.jasper"]]></subreportExpression> 
     </subreport> 
    </band> 
</detail> 

变量$ F {}罗塔总是在主报告NULL。我知道这个话题已经发布,但没有任何解决方案为我工作。 有人可以帮我吗? THKS!

回答

0

您的问题似乎是子报表发生在打印变量$ V {r​​ota}下方的带上。在子报表返回值之前,变量将不会被检索,因此您必须在子报表元素之后的某个band上打印/使用该变量。尝试切换乐队的顺序。希望这有助于

+0

没有工作。也无效:\但是,谢谢 –

+0

好的。我刚刚解决了这个问题。只需将变量计算设置为'系统';)谢谢 –

0

问题是,我最终要使用的变量必须具有计算类型SYSTEM。这样做,问题就解决了。