登录
首页 >  文章 >  软件教程

FineReport表单联动图表刷新方法

时间:2026-04-09 22:27:59 117浏览 收藏

在FineReport中实现表单联动时,chart0与report0的交互虽能动态更新报表数据,但依赖report0数据源的chart1却无法自动刷新,导致用户需手动操作才能看到最新图表——本文详解如何通过JavaScript注入延迟执行逻辑,精准调用`FR.Chart.WebUtils.getChart("chart1").dataRefresh()`方法,在report0数据稳定后500毫秒内自动触发chart1重绘,彻底解决联动“最后一公里”的视图不同步问题,让复杂报表交互真正丝滑流畅。

制作报表时,chart0 能够与 report0 报表块实现联动,并动态修改其数据;而 chart1 的数据则直接取自该报表块。但当前存在一个问题:联动操作完成后,chart1 并不会自动响应数据变化,需用户手动刷新才能展示最新结果。

1、 思路

2、 利用 JavaScript 实现延迟加载并更新图表数据

3、 通过调用 FR.Chart.WebUtils.getChart 方法获取 ID 为 chart1 的图表实例,并将其赋值给变量 c。

4、 执行图表刷新:调用 c.dataRefresh() 方法强制重载数据。

5、 使用 setTimeout 设置 500 毫秒延时,确保 report0 数据已更新完毕后再触发 chart1 刷新。

6、 示例说明

7、 打开报表设计器

8、 插入自定义 JavaScript 代码

9、 当用户点击 chart0 时,会触发对 report0 的数据联动更新,而 chart1 的数据源正依赖于 report0。然而目前的现象是:尽管 report0 已成功刷新,chart1 却未同步更新视图。

10、 为 report0 添加超链接动作,具体配置方式如下图所示。

FineReport表单联动图表刷新

11、 对应的 JavaScript 代码如下

12、 保存并预览效果

13、 模板保存完成后,可在移动设备端打开报表,验证联动与自动刷新功能是否正常生效。

理论要掌握,实操不能落!以上关于《FineReport表单联动图表刷新方法》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>