JRBeancollection datadourse をメイン レポートに渡し、メイン レポートからサブレポートに渡したいです。このサブレポートをマスター レポートの概要セクションに含めました。inbuld パラメータの設定方法を含め、ireport で実行したい手順を記載してください。
2 に答える
最後に私はそれをやった。
実際、データソースはサブレポートに入っていませんでした。そのため、データがない場合のプロパティをすべてのセクション、データがない場合に変更しました...
次に、サブレポート レコードを取得したコレクション変数を渡しました。
使用することで parameters.put("shape_data_all", allShape_Caliberation);
次に、メイン レポートにパラメーターを作成しました。そしてそのクラスを に変更しましたjava.Util.Collection
。
次に、サブレポートのプロパティでconnection type=
、データソース式を使用します
データ ソース式 new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{shape_data_all})
次に、Bean プロパティを持っているのと同じように、サブレポートにフィールドを追加しました。
ありがとうございました。
よくわかりませんが、これを試してください:
<subreport>
<reportElement x="261" y="25" width="200" height="100"/>
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "subreport.jasper"]]></subreportExpression>
</subreport>
もちろん、レポートで行っているように「subreportExpression」を使用する必要があります。これは単なるサンプルです。問題に役立つ行は、「dataSourceExpression」が配置されている場所です。