- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图将变量从工厂进程传递到运行进程,在 eclipsde UI 透视图中使用 reportContext.setPersistentGlobalVariable。在数据集的onFetch()中,代码如下所示:
var flag = "hello";
reportContext.setPersistentGlobalVariable("flag", flag);
在报表设计的 beforeRender() 方法中,代码如下所示:
var flg = reportContext.getPersistentGlobalVariable("flag");
reportContext.getDesignHandle().findElement("text").setContent(flg);
应该注意的是,当我将两个片段放入两个报告设计中的 ..() 方法时,此代码是有效的。不知何故,数据无法在两个进程之间传递。
最佳答案
我能够重现与您所描述的类似的行为。请尝试在报表末尾插入动态文本元素并设置此表达式,它应该可以工作:
reportContext.getPersistentGlobalVariable("flag");
很可能您的报告正在使用独特的“RunAndRender”任务运行,而如果我们想利用 beforeRender 和 onRender 事件,我们应该使用两个单独的“Run”和“Render”任务。
在使用 Eclipse Designer 的实践中,如果我们使用 Web 查看器运行报告(“在 Web 查看器中查看报告”),则会有两个单独的任务,但如果我们直接运行导出(“以 xxx 形式查看报告”),则会有一个任务任务。
也就是说,重要的是要注意处理渲染事件很棘手:大多数时候,像您尝试在此处所做的那样更改 designHandle 元素为时已晚。例如,即使元素的“可见性”属性也无法在渲染时更改。您可以使用此元素的“onRender”事件更改文本的内容:
this.text=reportContext.getPersistentGlobalVariable("flag");
关于javascript - 在 Birt 处理程序上使用 Javascript reportContext.setPersistentGlobalVariable 方法在进程之间传递对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28959510/
我试图将变量从工厂进程传递到运行进程,在 eclipsde UI 透视图中使用 reportContext.setPersistentGlobalVariable。在数据集的onFetch()中,代码
我尝试使用reportContext.setPersistentGlobalVariable在数据集的OnFetch Javascript方法上定义全局变量,如下所示: flag = 1; if(ro
我是一名优秀的程序员,十分优秀!