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%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\mobile-client\ ChartDelayRefresh_1.frm
点击下载模板:ChartDelayRefresh_1.frm
3.2 修改图表
将饼图和柱形图删掉,添加饼图(新特性)和柱形图(新特性)。
饼图(新特性)设置如下:
柱形图(新特性)设置如下:
3.2 增加超级链接
1)选中饼图 chart0,在图表属性中选择特效-交互属性,添加超级链接-当前决策报表对象:
2)表单对象选择 report0,添加参数 area,值选择系列名称:
3)chart0 联动 report0 报表块,点击 chart0,改变 report0 中的数据,chart1 中的数据来自 report0;现在点击 chart0,chart1 的图表不会刷新;
给饼图 chart0 增加超级链接-JavaScript脚本,如下图所示:
具体 JS 代码如下:
setTimeout(function() {
var c = FR.Chart.WebUtils.getChart("chart1");
c.dataRefresh();
}, 500);
4. 预览效果编辑
注:此方案移动端同样适用,移动端如何设置请查看 APP 使用 和 报表查看
4.1 PC 端
4.2 移动端
注:示例中使用的是新图表,新图表数据刷新接口暂不支持移动端;老图表数据刷新接口移动端仅支持 AppV8 版本,HTML5 和 AppV9 版本不支持。
下图为老图表的演示效果:
5. 已完成模板编辑
已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表单JS实例\21-JS获取决策报表内图表块刷新数据.frm
点击下载模板:21-JS获取决策报表内图表块刷新数据.frm