我为什么要使用BIRT setGlobalVariable()方法?

时间:2011-03-24 15:39:12

标签: javascript birt

我有一些报告,我在不同的事件处理程序之间使用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");,但我还没有发现,不建议使用简单的赋值。

在BIRT Javascript事件处理程序中使用简单赋值有什么缺点,例如foo="bar";并稍后在另一个事件处理程序中读取它?

1 个答案:

答案 0 :(得分:3)

通过以这种方式设置变量,您实际上可以在脚本层中的任何位置访问它们。如果需要通过Java事件处理程序将变量的范围扩展到已编译的代码中,则需要使用全局变量来使用变量。

这种方法没有增加成本,并且使其成为最佳实践,可确保您跨越任何边界,保持变量的状态,并在您可能需要的任何地方为您提供。

祝你好运!