サブレポートからその親に値を渡すには、まず親に値を受け取る変数が必要です。あなたの場合、メイン レポートには、presentPayable、presentPayment、balance、およびtotalCostにそれぞれ 1 つずつ、4 つの変数が必要です。
次に、メイン レポートreturnValue
の要素に要素を追加する必要があります。この要素は、属性およびsubreport
を使用して、サブレポートの変数をこのレポートの変数にマップします。subreportVariable
toVariable
iReport でこれを行うには、メイン レポートのサブレポート要素をクリックします。プロパティ リストで、Return Valuesをクリックします。ダイアログが表示されます。[追加] ボタンをクリックします。サブレポート変数の名前を入力し、このレポートで転送先の変数を選択します。計算タイプは「Nothing」のままにしておく必要があります。これにより、jasper は単に変数を新しい値で上書きするようになります。[ OK]をクリックしてこれを追加し、他の変数/サブレポートについて繰り返します。
レポートを実行すると、サブレポートの処理が完了するたびに、サブレポート内の変数の現在の値がメイン レポート内の指定された変数に戻されます。
その値を別のサブレポートで使用するには、変数をメイン レポートから別のサブレポートにパラメーターとして渡す必要があります。これには、親レポートsubreportParameter
の要素へのa の追加と、サブレポート自体へのa の追加の 2 つの部分があります。subreport
parameter
iReport で、メイン レポートのサブレポート要素をクリックします。プロパティ リストで、 [パラメータ] をクリックします。表示されるダイアログで、[追加] ボタンをクリックします。パラメーターに名前を付け (例: presentPayable )、メイン レポートの変数を参照する値式を入力します (例: $V{presentPayable}
)。渡す変数ごとにこれを繰り返します。
次に、サブレポートを開きます。レポート インスペクターで、 [パラメーター] を右クリックします。[パラメーターの追加] を選択し、前の手順で入力した名前と一致するように新しいパラメーターの名前を変更します。
サブレポートでは、これらの値を他のパラメーターと同様に参照できるようになりました (例: $P{presentPayable}
)。