历史版本18 :JS实现普通报表自动轮播 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

在实际工作中,需要实现多张报表自动轮播效果,但区别于 自动切换分页效果 及 图表手动切换。实际效果如下图所示:

2020-06-24_12-22-36 (1).gif

1.2 实现思路

使用 FineReport 自带的 JavaScript 延时函数,页面加载完成后停留一定时间自动跳转到另一页面来实现自动轮播特效。

2. 示例编辑

2.1 打开报表

依次打开设计器内置模板:

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\ doc\Advanced\Chart\3Darea_1.cpt
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\ doc\Advanced\Chart\3Darea_2.cpt
 %FR_HOME%\webapps\webroot\WEB-INF\reportlets\ doc\Advanced\Chart\3Darea_3.cpt

2.2 添加事件

打开模板 3Darea_1.cpt,设计器菜单栏点击模板>模板Web属性>分页预览设置 ,选择为该模板单独设置 ,添加 加载结束 事件,如下图所示:

2020-06-24_11-27-29.png 

3Darea_1.cpt 报表的 JavaScript 代码如下:

setTimeout(function(){
    window.location="${servletURL}?viewlet=doc/Advanced/Chart/3Darea_2.cpt";
},3000)

按照上述步骤,继续为 3Darea_2.cpt 报表的添加 加载结束 事件及 JavaScript 代码,代码如下:

setTimeout(function(){
    window.location="${servletURL}?viewlet=doc/Advanced/Chart/3Darea_3.cpt";
},3000)

按照上述步骤,继续为 3Darea_3.cpt 报表的添加 加载结束 事件及 JavaScript 代码,代码如下:

setTimeout(function(){
    window.location="${servletURL}?viewlet=doc/Advanced/Chart/3Darea_1.cpt";
},3000)

注:如果是决策报表文件(.frm),设置方法参见文档:暂停和继续轮播报表

2.2 效果预览

保存模板,任一模板点击分页预览 ,每隔 3 秒模板切换一次,效果如下图所示:

2020-06-24_12-22-36 (1).gif

注:不支持移动端。

3. 模板下载编辑

已完成的模板可参见:

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\分页预览JS实例\普通报表自动轮播1.cpt

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\分页预览JS实例\普通报表自动轮播2.cpt

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\分页预览JS实例\普通报表自动轮播3.cpt

点击下载模板: 

普通报表自动轮播1.cpt

普通报表自动轮播2.cpt

普通报表自动轮播3.cpt