JS获取决策报表内图表块刷新数据

编辑
文档创建者:文档助手1 (67727 )     浏览次数:4447次     编辑次数:12次     最近更新:ukae 于 2018-08-13     

目录:

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%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\mobile-client\ ChartDelayRefresh_1.frm
3.2 修改图表
将饼图和柱形图删掉,添加饼图(新特性)和柱形图(新特性)。
饼图(新特性)设置如下:
222
柱形图(新特性)设置如下:
222
3.2 增加超级链接
1)选中饼图chart0,在图表属性中选择特效-交互属性,添加超级链接-当前决策报表对象
222
2)表单对象选择report0,添加参数area,值选择系列名称
222
3)chart0联动report0报表块,点击chart0,改变report0中的数据,chart1中的数据来自report0;现在点击chart0,chart1的图表不会刷新;
饼图chart0增加超级链接-JavaScript脚本,如下图所示:

222

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

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

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

4. 预览效果编辑

4.1 PC端预览效果

222

4.2 移动端预览效果

注:示例中使用的是新图表,新图表数据刷新接口暂不支持移动端;老图表数据刷新接口移动端仅支持appV8版本,H5和appV9版本不支持。

下图为老图表的演示效果:

222

5. 已完成模板编辑

模板效果在线查看请点击:JS获取决策报表内图表块刷新数据.frm

已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\21-JS获取决策报表内图表块刷新数据.frm



附件列表


主题: 二次开发
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗? [ 去社区提问 ]