4

私は初心者で、iReport 4.5を使用してレポートを設計しています。

メイン レポート ( MainReport ) と 3 つのサブレポート( Sub1Sub2Sub3 )があります。

Sub1には、 presentPayablepresentPaymentbalanceという 3 つの要約変数があります。

Sub2には、totalCostという要約変数が 1 つあります。

Sub3Sub1Sub2のサマリー変数を使用する必要があります。

これどうやってするの?あるサブレポートから別のサブレポートに変数を渡すことは可能ですか?

それ以外の場合は、これを行う代替手段を教えてください。

4

1 に答える 1

2

サブレポートからその親に値を渡すには、まず親に値を受け取る変数が必要です。あなたの場合、メイン レポートには、presentPayablepresentPaymentbalance、およびtotalCostにそれぞれ 1 つずつ、4 つの変数が必要です。

次に、メイン レポートreturnValueの要素に要素を追加する必要があります。この要素は、属性およびsubreportを使用して、サブレポートの変数をこのレポートの変数にマップします。subreportVariabletoVariable

iReport でこれを行うには、メイン レポートのサブレポート要素をクリックします。プロパティ リストで、Return Valuesをクリックします。ダイアログが表示されます。[追加] ボタンをクリックします。サブレポート変数の名前を入力し、このレポートで転送先の変数を選択します。計算タイプは「Nothing」のままにしておく必要があります。これにより、jasper は単に変数を新しい値で上書きするようになります。[ OK]をクリックしてこれを追加し、他の変数/サブレポートについて繰り返します。

レポートを実行すると、サブレポートの処理が完了するたびに、サブレポート内の変数の現在の値がメイン レポート内の指定された変数に戻されます。

その値を別のサブレポートで使用するには、変数をメイン レポートから別のサブレポートにパラメーターとして渡す必要があります。これには、親レポートsubreportParameterの要素へのa の追加と、サブレポート自体へのa の追加の 2 つの部分があります。subreportparameter

iReport で、メイン レポートのサブレポート要素をクリックします。プロパティ リストで、 [パラメータ] をクリックします。表示されるダイアログで、[追加] ボタンをクリックします。パラメーターに名前を付け (例: presentPayable )、メイン レポートの変数を参照する値式を入力します (例: $V{presentPayable})。渡す変数ごとにこれを繰り返します。

次に、サブレポートを開きます。レポート インスペクターで、 [パラメーター] を右クリックします。[パラメーターの追加] を選択し、前の手順で入力した名前と一致するように新しいパラメーターの名前を変更します。

サブレポートでは、これらの値を他のパラメーターと同様に参照できるようになりました (例: $P{presentPayable})。

于 2013-07-04T14:49:12.977 に答える