历史版本17 :刷新报表页面的方法总结 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
11.0

1.2 应用场景

在报表应用中,我们经常会用到报表页面的刷新,比如报表中有数据更新时需要定时刷新,填报报表中填报成功后需要刷新,决策报表中某个报表块需要定时的刷新等等,都会用到刷新。下面对这些刷新方法进行总结。

1.3 实现思路

对于报表进行刷新的方式较多主要有以下几种:

  • 手动刷新:手动点击浏览器刷新按钮,此方法适用于所有报表,但重新加载速度可能较慢,参数栏参数会初始化,需要重新填写。

  • 使用 location.reload() ,刷新整个报表页面,和手动点击浏览器的刷新功能是一样的,适用于所有报表但重新加载速度较慢,相关示例可参见 填报成功自动刷新 。

  • 使用官方的 JS 接口,具有刷新功能的接口较多,将在第 2 节详细讲解。

  • 决策报表和图表刷新可使用插件,详情请参见 决策报表内报表块刷新插件 。

2. 官方接口刷新总结编辑

接口
适用范围示例效果
_g().parameterCommit()

具有参数栏的所有报表中(包括使用了参数栏隐藏),支持移动端。

示例:自动查询

效果:提交参数后重新查询,刷新报表

1.gif

_g().gotoPage()

注:此方法可以使用三个参数 gotoPage(pn, para, noCache),跳转到指定页,重新提交参数,有无缓存,使用较灵活

适用于分页报表,填报报表,决策报表,支持移动端。

示例:自定义翻页按钮JS实现决策报表内报表块翻页

效果:跳转到指定页数后重新加载刷新,参数栏不刷新

2.gif

_g().getWidgetByName().gotoPage()仅适用于决策报表,支持移动端。

效果:获取决策报表中的报表块,跳转到指定页

_g().refreshAllSheets()仅适用于填报报表,支持移动端。

示例:JS实现当前页刷新

效果:刷新填报报表中所有的 sheet ,刷新后会停留在上次查看的 sheet ,不会刷新参数栏

1.gif

_g().loadSheetByIndex()仅适用于填报报表,不支持移动端。效果:切换到指定 sheet 序号的页面并刷新
_g().loadSheetByName()仅适用于填报报表,不支持移动端。效果:切换到指定 sheet 名称的页面并刷新
_g().loadContentPane()

适用于分页报表,填报报表,数据分析报表、决策报表,支持移动端。


效果:重新加载,刷新报表,如果参数栏有参数,会提交参数栏参

注:在填报报表或数据分析报表中,会刷新所有的 sheet 数据

1.gif

FR.Chart.WebUtils.getChart("chartID").dataRefresh()

仅适用于图表,不支持扩展图表。

支持移动端,但移动端决策报表的报表块内图表不支持调用该接口。

示例:图表刷新接口JS实现报表块数据变化后刷新联动的图表块

效果:点击按钮可以刷新普通报表或决策报表中的图表

1.gif

FR.Chart.WebUtils.getChart("chartID").dealReloadChartAjax()适用于扩展图表单个组件刷新

示例:扩展图表组件刷

效果:实现扩展图表组件的刷新

2.gif

3. 非官方接口示例索引编辑

文档链接
应用场景效果图
JS实现定时刷新报表实现报表的定时刷新报表将会以指定的频率实时刷新
JS实现决策报表定时刷新实现决策报表的定时刷新1.gif
JS实现决策报表中网页框刷新决策报表中使用了 A、B 两个网页框,两个网页框分别对应 A、B 报表,实现点击 A 报表中的按钮刷新 B 报表1.gif
JS实现关闭子页面时刷新父页面项目中做填报时,会遇到点击按钮跳转到子页面填写详细信息。当填报完成,关闭子页面时,希望能刷新父页面。1.gif
JS实现子窗口填报后刷新父页面子报表填报成功后,数据能马上在主报表中显示出来,通常采用的方法是刷新主报表。1.gif