历史版本9 :JS实现报表块数据变化后刷新联动的图表块 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 描述编辑
chart0联动report0报表块,改变报表块数据,chart1数据来自报表块;联动报表块后,chart1是不会自动刷新的;
但是我们想要的效果是联动报表块后,chart1可以自动刷新,如下图:
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增加超级链接-JavaScript脚本,如下图所示:
具体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
注:此方案移动端同样适用,移动端如何设置请查看添加服务器和报表查看。
4. 预览效果编辑
4.1 PC端预览效果
4.2 移动端预览效果
注:示例中使用的是老图表,移动端仅支持appV8版本,H5和appV9版本暂不支持;新图表数据刷新接口暂不支持移动端。