我有一些报告,我在不同的事件处理程序之间使用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";
并稍后在另一个事件处理程序中读取它?
答案 0 :(得分:3)
通过以这种方式设置变量,您实际上可以在脚本层中的任何位置访问它们。如果需要通过Java事件处理程序将变量的范围扩展到已编译的代码中,则需要使用全局变量来使用变量。
这种方法没有增加成本,并且使其成为最佳实践,可确保您跨越任何边界,保持变量的状态,并在您可能需要的任何地方为您提供。
祝你好运!