BIRT setGlobalVariable()メソッドを使用する必要があるのはなぜですか?

birt javascript
BIRT setGlobalVariable()メソッドを使用する必要があるのはなぜですか?

異なるイベントハンドラー間でJavaScript変数を使用するレポートがいくつかあります。

例:

//Data Set beforeOpen:
fooList = "";

//Data Set fetch:
fooList += row['foos'] + ", ";

//Dynamic Text expression, somewhere in the report:
fooList

このコードは2.6.2で機能します。 (このDynamicTextの上に、データセットの使用をトリガーする非表示のテーブルがあります)

ドキュメントでは、 `reportContext.setGlobalVariable(” foo “、” bar “);`を使用する必要があると述べていますが、単純な割り当ての使用は推奨されていません。

`foo =” bar “;`などのBIRT Javascriptイベントハンドラーで単純な割り当てを使用し、後で別のイベントハンドラーで読み取ることの欠点は何ですか?

  1  0


ベストアンサー

このように変数を設定することにより、実際にはスクリプト層のどこからでも変数にアクセスできます。 Javaイベントハンドラーを介してコンパイル済みコードに変数の範囲を拡張する必要がある場合、変数を使用するにはグローバル変数を使用する必要があります。

このアプローチに追加コストはありません。ベストプラクティスにすることで、境界を越えても変数の状態が維持され、必要な場所で利用できるようになります。

がんばろう!

3


タイトルとURLをコピーしました