反馈已提交

网络繁忙

JS自定义按钮实现报表块翻页

  • 文档创建者:文档助手1
  • 历史版本:40
  • 最近更新:帆软应用复用-Cat 于 2023-11-27
  • 1. 概述

    1.1 问题描述

    JS实现决策报表定时刷新 文档中,是刷新的整个决策报表,但有的时候我们不想刷新整个决策报表,而只想刷新报表里的报表块。

    那么报表里的报表块如何实现局部刷新以及传参呢?

    如下图所示:

    点击「跳转到第2页」按钮,报表块跳转到第 2 页,并且报表中通过公式 =$month正常获取到了参数值。

    6D0180AA-D1F3-464E-80E4-CF49BD472A69.GIF

    1.2 解决思路

    通过 JS 获取报表块,再使用 gotoPage() 接口来实现局部刷新和传参。

    _g().getWidgetByName("report0").gotoPage(pn, para, noCache)
    参数
    说明
    pn页序号,序号从 1 开始
    para

    选填

    支持传递多个参数,格式为{name1:aa,name2:bb}

    1)跳转报表块页面时携带一个参数

    • 说明:传递两个参数值,month 参数值为 12

    • 示例:gotoPage(2,"{month:12}")

    2)跳转报表块页面时携带两个参数

    • 说明:传递两个参数值,month 参数值为 12,name 参数值为 FR

    • 示例:gotoPage(2,"{month:12, name:'FR'}")

    注:不支持带特殊符号。

    noCache

    选填

    1)不写

    • 说明:报表块刷新的数据从缓存里面取,不重新计算

    • 示例:gotoPage(2,"{month:12, name:'FR'}")

    2)true

    • 说明:报表块刷新的数据不使用缓存,重新计算所有报表块

    • 示例:gotoPage(2,"{month:12, name:'FR'}",true)

    3)"lazy"

    • 说明:报表块刷新的数据不使用缓存,重新计算单个报表块

    • 示例:gotoPage(2,"{month:12, name:'FR'}","lazy")

    注:若模板内容非常多,模板计算量大,不推荐使用true,会导致工程计算量激增。如需重新获取数据,推荐使用"lazy"。

    2. 示例

    2.1 准备模板

    1)点击设计器左上角「文件>新建决策报表」,新建空白模板。将 body 属性中的布局方式改为「绝对布局」。

    2)向 body 中拖入一个按钮控件和一个报表块。

    如下图所示:

    Snag_e35e97b.png

    2.2 报表块设计

    双击报表块,进入编辑界面,表格样式设计如下:

    1)表格中的数据可随意输入文本内容,本例中表达的是 1-12 月的月份,B5 单元格插入公式 =$month ,用于接收「按钮控件」传来的参数。

    2)选择 B4 和 B8 单元格,点击「单元格属性>其他」,设置「行后分页」。如下图所示:

    Snag_e39fa8e.png

    3)设置完成后点击左下方「表单」回到 body 界面。选中 report0 ,点击「属性」,打开「报表块工具栏」。如下图所示:

    Snag_e49e90c.png

    2.3 设置按钮控件

    选中 button0 按钮,在属性中将「按钮名字」设置为「跳转到第2页」,再点击「事件」,添加一个「点击」事件,输入 JavaScript 代码:

    _g().getWidgetByName("report0").gotoPage(2, "{month:5}", true);
    //report0跳转到第2页,并将month等于5传参给report0

    如下图所示:

    Snag_e4437a6.png

    2.4 效果预览

    2.4.1 PC 端

    保存模板,点击「PC端预览」,效果如 1.1 节效果图所示。

    2.4.2 移动端

    App 端和 HTML5 端均支持,效果如下图所示:

    B692BFD1-48D4-4460-9A19-30FC554CA546.GIF


    3. 模板下载

    已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表单JS实例\JS实现决策报表内报表块翻页.frm

    点击下载模板:JS实现决策报表内报表块翻页.frm

    附件列表


    主题: 决策报表应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持