js实现决策报表中不同网页框相互刷新

编辑
  • 文档创建者:cherishdqy
  • 浏览次数:991次
  • 编辑次数:3次
  • 最近更新:Kevin-s 于 2019-06-23
  • 1. 描述

    一个决策报表中使用了 A、B 两个网页框,两个网页框分别显示 A、B 两个不同的报表,如何在 A 网页框中点击 A 报表中的按钮刷新 B 网页框中的 B 报表呢?

    实现效果如下图(左边为A报表,右边为B报表):


    2. 思路

    使用 JS:window.parent 获取到父模板的网页框,使用网页框控件的 reload() 方法刷新网页框。

    注:需要安装“网页框控件”插件。


    3. 示例

    3.1 新建父模板 parent.frm

    新建一个决策报表 parent.frm,并拖入两个网页框控件,如下图所示:



    3.2 新建子模板 A.cpt

    1)新建一个普通报表 A.cpt,选中 A1 单元格,在右侧属性面板中选择控件设置,选择按钮控件,并设置按钮名字为:刷新父模板网页框 B,如下图所示:

    2)控件设置选择事件,添加点击事件

    JS 代码如下:

    window.parent._g().getWidgetByName('rHIframe1').reload(); //rHIframe1为父模板需要刷新的网页框控件名

    或者使用下面的代码:

    var parent = window.parent;
    var iframe = parent.document.getElementById('RHIFRAME1');//RHIFRAME1是决策报表中需要刷新的网页框名称的大写
    iframe.contentWindow.location.reload(true);

    3)保存子模板 A.cpt


    3.3 新建子模板 B.cpt

    1)新建一个普通报表 B.cpt,在 A1 单元格插入公式:ROUND5(RAND() * 50,0),如下图所示:


    2)保存子模板 B.cpt


    3.4 设置父模板网页框

    1)打开父模板 parent.frm,选中rHIframe0网页框,设置地址和参数,使用模板路径,选择 A.cpt,并添加参数 op,参数值设置为字符串:write

    2)选中 rHIframe1 网页框,设置地址和参数,使用模板路径,选择 B.cpt

    3)保存父模板 parent.frm


    4. 预览效果

    4.1 PC 端

    保存模板,选择分页预览,实现效果如描述中所示。


    4.2 移动端

    不支持移动端


    5. 已完成模板

    已完成的模板:

    右击存储模板:parent.frm

    点击下载模板:A.cptB.cpt


    附件列表


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

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

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