gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 00:32:00 27 4
gpt4 key购买 nike

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

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

并在 beforeRender 方法上检索变量,如下所示:

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

但是通过运行收到此错误的报告:

org.eclipse.birt.report.engine.api.EngineException: There are errors evaluating script "reportContext.setPersistentGlobalVariable("flag", true);":
Fail to execute script in function __bm_onFetch().

最佳答案

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

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();

关于javascript - 在 Birt 处理程序上使用 Javascript reportContext.setPersistentGlobalVariable 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28895046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com