2016-05-23 5 views
1

2つの異なるサブレポートを含むメインレポートがあります。2つの変数を合計して1つの変数に格納する方法

私はが正常に2つの変数をretreived有するIは、実施例2のために別のsubreport2から別の変数sum(Integer型)

を有する例えば10 subreport1から変数sum(Integer型)

を有しますサブレポートのそれぞれから が、今私は私のmainreportで今

ので、2つの変数をまとめて私のmainreportで変数を作成したい私は、3つの変数を持っている

最初の変数は、VAR1と呼ばれ、それが第二の可変がVAR2と呼ばれる1

Name      VAR1 
Variable Class    java.lang.Integer 
Reset type     Report 
initial Value Expression 0 

サブレポートから来て、それが最後の変数がSUM

Name      SUM 
Variable Class    java.lang.Integer 
Reset type     Report 
variable expression  new Integer($V{VAR1}.intValue() + $V{VAR2}.intValue()) 
initial Value Expression 0 
と呼ばれるサブレポート2

Name      VAR2 
Variable Class    java.lang.Integer 
Reset type     Report 
initial Value Expression 0 

から来ています

私はPDFをプレビューするとSUM変数はNULLですが、VAR1とVAR2は整数値ですが、SUM変数は常にNULLです

これは、SUMがVAR1とVAR2より前に評価された可能性がありますか?

私の問題は何ですか?

+0

これは、SUM変数が使用されている帯域によって異なります。また、テスト目的でVAR1とVAR2の値をレポートに表示しましたか? – tobi6

+0

私のメインレポートには3つの詳細バンドがあり、1番目の詳細バンドには1番目のサブレポートが含まれ、2番目の詳細バンドには2番目のサブレポートが含まれ、3番目の詳細バンドには3つの変数VAR1、VAR2、SUMが含まれ、はいVAR1とVAR2が表示されますテストの目的で使用します。最終的には、3番目の詳細なバンドに表示されるのはSUMだけですが、それはnullで、理由はわかりません。 – securenai

+0

SUM変数の 'Evaluation Time'を" Now "に変更しようとしましたか?また、 'Summary'や' Group Footer'のような別のバンドを使ってみましたか? – tobi6

答えて

2

サブレポートが返され値を返す前に "通常の"変数値が計算されるため、サブレポートから返された値を持つ変数を使用して他の変数を計算することはできません。

返される値を合計する必要がある場合は、戻り値としてcalculation = "Sum"を使用して、2つのサブレポートの値を同じ変数に戻すことが1つです。これは、最初のサブレポートからVAR1への戻りval1と、同じval1とSUMの計算= "Sum"であり、2番目のサブレポートからVAR1へ、val2の計算は "Sum"となります。

計算=「合計」は戻り値であり、変数ではないことに注意してください。戻り値に使用される変数には、通常、「計算」=「システム」が必要です。

+0

あなたの確認のためにありがとうございます – securenai

+0

それは私に助けてくれましたロット! – Siick

関連する問題