2014-10-17 1 views
0

Я хочу передать поле таблицы в главном докладе SubReport в качестве параметра в JasperReportsпередачи параметров из таблицы в главном докладе SubReport

<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> 

Я передал параметр в SubReport, как указано выше, но получаю ошибку, как Поле не найдено

ответ

0

Правильно передается поле в качестве параметра из основного отчета в подзаголовок. Но вы не можете использовать этот параметр непосредственно в подзаголовке. Вы должны сначала указать в качестве параметра в подзаголовке, а затем использовать его. Добавить следующую строку в подотчет (только после того, как <import>-х и до <queryString>):

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

Теперь использовать его в подотчете как:

$P{ID} 
+0

возможно передать параметр из таблицы основного доклада sub report table – user2689808

+0

Я точно не понял, что вы хотите. Измените свой вопрос соответствующим образом. – keenUser