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

编辑
  • 文档创建者:文档助手1
  • 浏览次数:8108次
  • 编辑次数:13次
  • 最近更新:Kevin-s 于 2019-06-23
  • 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


    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);


    3.3 保存并预览

    保存模板,预览即可看到效果。

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

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


    4. 预览效果

    4.1 PC 端预览效果



    4.2 移动端预览效果

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

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



    5. 已完成模板

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

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

    右击存储模板


    附件列表


    主题: 二次开发
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

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

    此页面有帮助吗?只是浏览 [ 去社区提问 ]