JS获取表单内图表块刷新数据

目录:

1. 问题描述

chart0联动report0报表块,改变报表块数据,chart1数据来自报表块;联动报表块后,chart1是不会自动刷新的;
222
但是我们想要的效果是联动报表块后,chart1可以自动刷新,如下图:
222
注:这里的接口均为老图表接口,新图表没有开放接口

2. 解决方案

使用js,延迟刷新图表数据
获取图表对象:
var c=FR.Chart.WebUtils.getChart("chart1");
图表数据刷新:
c.dataRefresh();
延迟函数:
setTimeout(function() { }, 500);

3. 示例

3.1 打开报表
%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\mobile-client\ ChartDelayRefresh_1.frm
3.2 增加js
chart0联动report0报表块,点击chart0,改变report0中的数据,chart1中的数据来自report0;现在点击chart0,chart1的图表不会刷新;
给chart0增加超级链接,如下图所示:

222

具体js如下:
setTimeout(function() { var c=FR.Chart.WebUtils.getChart("chart1"); c.dataRefresh() }, 500);
3.3 保存并预览
保存模板,预览即可看到效果。

已完成模板可参考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\mobile-client\ChartDelayRefresh_2.frm

注:此方案移动端同样适用,移动端如何设置请查看添加服务器报表查看

附件列表


主题: 二次开发
标签: 已验证

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(微信ID:frbiaoge)