サブレポート(フッター)にパラメータを使いたいです。
パラメータを宣言し、それをサブレポートでのみ使用する簡単な方法はありますか?
私はすでに実用的なソリューションを持っていますが、次のことを行う必要があります。
- メイン レポートでパラメータを宣言する
- メイン レポートのパラメータをサブ レポート パラメータとして宣言する
- サブレポートでパラメータを宣言して、最終的に使用できるようにする
iReport を使用せずに、xml ファイルを直接操作しています。
サブレポート(フッター)にパラメータを使いたいです。
パラメータを宣言し、それをサブレポートでのみ使用する簡単な方法はありますか?
私はすでに実用的なソリューションを持っていますが、次のことを行う必要があります。
iReport を使用せずに、xml ファイルを直接操作しています。
パラメーターは考えられるあらゆるクラスのものになる可能性があるため、いつでもパラメーターを他のクラスにラップできます。たとえば、Java では、 Map
. この方法では、サブ レポートのパラメーターを 1 つだけ宣言し、ラッピング クラスの適切なゲッターを介してマップ内の各サブ レポート パラメーターにアクセスする必要があります。
ジェネリックの例として、次のHashMap
ように宣言します
<parameter name="subreportParameters" class="java.util.HashMap" isForPrompting="false"/>
そして、このように使用します
<![CDATA[$P{subreportParameters}.get("YOUR_PARAMETER_KEY") ]]>
パラメーターが 1 つしかないことの欠点は、サブレポートの読みやすさが低下することです。これは、フッターなどの小さなサブ レポートでは許容できるトレードオフかもしれません。
基本的に、できません。それは不可能。