2014-10-17 73 views
0

我想通過在主報告表的字段子報表作爲參數JasperReports的在主報告表參數傳遞到子報表

<jasperReport xmlns ---- > 
    <subDataset name="tableDataset" > 
    <queryString> 
     <![CDATA[{select * from person]]> 
    </queryString> 
    <field name="ID" class="java.lang.Integer"/> 
    </subDataset> 
     <title> 
      <jr:table > 
       <jr:column width="133" > 
        <jr:detailCell > 
         <textField> 
          <textFieldExpression><![CDATA[$F{ID}]]></textFieldExpression> 
         </textField> 
        </jr:detailCell> 
       </jr:column> 
       --- 
       -- 
       </jr:table> 
     </title> 
     <summary> 
       <subreport> 
<subreportParameter name="ID"> 
       <subreportParameterExpression><![CDATA[$F{ID}]]>  </subreportParameterExpression> 
      </subreportParameter> 
        <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
        <subreportExpression><![CDATA["phonemumbers.jasper"]]></subreportExpression> 
       </subreport> 


     </summary> 
</jasperReport> 

我傳遞的參數爲上述子報表,但得到誤差字段未找到

回答

0

您將字段作爲參數從主報告傳遞到子報表的方式是正確的。但是你不能直接在子報表中使用這個參數。您必須先在子報表中捕獲參數,然後使用它。下面一行添加到您的報表(剛過<import>的和<queryString>前):

<parameter name="ID" class="java.lang.Integer" isForPrompting="false"/> 

現在用它在報表爲:

$P{ID} 
+0

是有可能從表主報表參數傳遞到子報告表 – user2689808 2014-10-17 15:03:02

+0

我完全不明白你想要什麼。請相應地編輯您的問題。 – keenUser 2014-10-21 03:14:41

相關問題