且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

FineReport填报分页设置

更新时间:2022-10-13 18:15:27

1. 问题描述

进行FineReport数据填报时,如果数据量过大,由于前端浏览器的性能限制,如果将数据全部展现出来,速度会非常的慢,影响用户体验,这时候大家就会想,填报是否能像分页预览一样进行分页呢,实现只加载当前页,从而提高性能,下面我们就来介绍填报分页的制作与浏览过程,在op=write下,使用__cutpage__=v参数(即在url后增加&__cutpage__=v)来启用填报横向不分页纵向分页。


2. 示例

下面我们以1000行数据为例,每页显示200行,分5页显示。

2.1 数据准备

新建数据集ds1:SELECT top 1000 * FROM 订单明细。

ds2:SELECT * FROM 产品。

2.2 模板设计

如下图所示,在模板主体中拖曳数据列至C2~O2单元格,并设置标题:

FineReport填报分页设置

2.3 过滤

数据列来源于2个数据集,需要在单元格中设置过滤条件,双击E2单元格,选择过滤,条件设置为产品id等于单元格D2,如下图:

FineReport填报分页设置

注:数据列中来自于ds1的数据列的父格需设置为C2,来自于ds2的数据列的父格需设置为E2。

2.4 分页设置

形如分页预览中的每页显示固定行数,填报分页也如此设置,如下图,在C2单元格中添加一个条件属性:

FineReport填报分页设置

2.5 重复标题行、冻结行列设置

由于上面的报表主体中包含的数据列比较多,并且数据量也比较大,则在web端查看报表时,需要设置重复标题行,并且冻结行列,使查看报表时,仍然能知道该行数据的意义。

重复标题行

选中标题行,右键,选择设置重复标题行。

冻结行列

点击菜单栏的模板>重复与冻结设置,在填报冻结栏里面讲第一行以及第三列冻结起来,如下图:

FineReport填报分页设置

2.6 报表样式设计

FineReport报表设置样式,如下图:

FineReport填报分页设置

2.7 效果查看

点击填报预览,在URL后面添加参数__cutpage__=v,即可启用填报分页,查看效果:


FineReport填报分页设置

在线查看模板效果请点击Cutpage.cpt


注:填报分页状态下,翻页前,如果修改了当前页的数据,需先保存该页面内容,即传输到服务器端进行保存,那么下次再查看该页内容时,页面显示内容即为编辑后的内容,在保存的过程中,不允许编辑,保存不是提交,报表会自动保存。

另:__cutpage__参数前后都有2个下划线。



本文转自 雄霸天下啦 51CTO博客,原文链接:http://blog.51cto.com/10549520/1940499,如需转载请自行联系原作者