Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Birt处理程序上使用Javascript reportContext.setPersistentGlobalVariable方法_Javascript_Eclipse_Birt - Fatal编程技术网

在Birt处理程序上使用Javascript reportContext.setPersistentGlobalVariable方法

在Birt处理程序上使用Javascript reportContext.setPersistentGlobalVariable方法,javascript,eclipse,birt,Javascript,Eclipse,Birt,我试图使用reportContext.setPersistentGlobalVariable在数据集的OnFetch Javascript方法上定义全局变量,如下所示: flag=1; 如果(行百分比>10) setPersistentGlobalVariable(“标志”,标志); 要在beforeRender方法上检索变量,如下所示: var flg=reportContext.getPersistentGlobalVariable(“标志”); 如果(flg==1) reportCont

我试图使用reportContext.setPersistentGlobalVariable在数据集的OnFetch Javascript方法上定义全局变量,如下所示:

flag=1;
如果(行百分比>10)
setPersistentGlobalVariable(“标志”,标志);
要在beforeRender方法上检索变量,如下所示:

var flg=reportContext.getPersistentGlobalVariable(“标志”);
如果(flg==1)
reportContext.getDesignHandle().findElement(“chartToHide”).drop();
但通过运行报告接收此错误:

org.eclipse.birt.report.engine.api.EngineeException:评估脚本“reportContext.setPersistentGlobalVariable(“flag”,true);”:
无法在函数_bm_onFetch()中执行脚本


理论上,此代码应该可以工作,因为该方法需要一个可序列化的对象:

void setPersistentGlobalVariable( String name, Serializable obj );
但在Rhino脚本的实践中,它似乎只能处理字符串,请尝试以下方法:

var flag = "1";
if(row.Percent>10)
reportContext.setPersistentGlobalVariable("flag", flag);


var flg = reportContext.getPersistentGlobalVariable("flag");
if(flg=="1")
reportContext.getDesignHandle().findElement("chartToHide").drop();

谢谢,你的回答很有帮助,但是尽管我按照你的建议修改了代码,它仍然不起作用。请看我问的新问题: