私がしようとしていることは、一見単純です。JasperReports:subreportExpressionを動的に変更する方法
サブレポート要素を含むマスターレポートがあります。サブレポートにはJRAbstractBeanDataSource
が入力され、0-nサブレポートのコレクションが格納されます。マスターレポートで
は、サブレポートがで発見された:
<subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + $F{subReportFileName}]]></subreportExpression>
これは正常に動作し、SUBREPORT_DIRは、コード内のデータソースへのparamとして渡されます。
私も行う必要がある何を、のようなもの、サブレポートのプロパティに基づいて、別のレポート名を選択している:ある
<subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "$F{subReportFileName}"]]></subreportExpression>
、指定したデータソースにサブレポート件のデータのコレクション内の各項目を許可.jasper
のファイル名になります(つまり、使用するサブレポートを選択できるようになります)。
おそらく、これについて考えたりアプローチしたりするより良い方法があります。
おっと、コードマークアップを忘れました:)ありがとう。私は、レポートの名前をマスターレポートとして設定する方法を見つけようとしていました。代わりに、私はクエリを完全に動的にし、パラメータとして渡しました。それは私がサブレポートごとに変更する必要があったことです。とにかく、ありがとうございました。 – mtyson