2011-03-24 60 views
1

我有一些報告,我在不同的事件處理程序之間使用JavaScript變量。爲什麼要使用BIRT setGlobalVariable()方法?

例子:

//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");,但我還沒有找到,使用簡單的任務是不鼓勵的。

在BIRT Javascript事件處理程序(如foo="bar";)中使用簡單分配並在稍後在另一個事件處理程序中閱讀它有什麼缺點?

回答

3

通過以這種方式設置變量,您實際上可以在腳本層的任何位置訪問它們。如果需要通過Java事件處理程序將變量範圍擴展到編譯代碼中,則需要使用全局變量來使用變量。

這種方法沒有增加成本,並且使其成爲最佳實踐,可確保如果跨越任何界限,變量的狀態將在您可能需要的任何地方維護和使用。

祝你好運!

相關問題