FineReport填报分页设置
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单元格,并设置标题:
2.3 过滤
数据列来源于2个数据集,需要在单元格中设置过滤条件,双击E2单元格,选择过滤,条件设置为产品id等于单元格D2,如下图:
注:数据列中来自于ds1的数据列的父格需设置为C2,来自于ds2的数据列的父格需设置为E2。
2.4 分页设置
形如分页预览中的每页显示固定行数,填报分页也如此设置,如下图,在C2单元格中添加一个条件属性:
2.5 重复标题行、冻结行列设置
由于上面的报表主体中包含的数据列比较多,并且数据量也比较大,则在web端查看报表时,需要设置重复标题行,并且冻结行列,使查看报表时,仍然能知道该行数据的意义。
重复标题行
选中标题行,右键,选择设置重复标题行。
冻结行列
点击菜单栏的模板>重复与冻结设置,在填报冻结栏里面讲第一行以及第三列冻结起来,如下图:
2.6 报表样式设计
给FineReport报表设置样式,如下图:
2.7 效果查看
点击填报预览,在URL后面添加参数__cutpage__=v,即可启用填报分页,查看效果:
在线查看模板效果请点击Cutpage.cpt
注:填报分页状态下,翻页前,如果修改了当前页的数据,需先保存该页面内容,即传输到服务器端进行保存,那么下次再查看该页内容时,页面显示内容即为编辑后的内容,在保存的过程中,不允许编辑,保存不是提交,报表会自动保存。
另:__cutpage__参数前后都有2个下划线。
FineReport填报分页设置的更多相关文章
- Web报表工具FineReport填报界面键盘操作
对于一张填报数据较多的报表,需要用户频繁地操作鼠标.而FineReport填报界面除去按钮类型的控件,其余可以完全使用键盘而不需要用鼠标操作,对于用户而言,这将极大的节省信息录入的时间. 这里我们对填 ...
- yii2 关联查询,分页设置
1.MODEL 如关联user table public function getUser(){ return$this->hasOne(User::className(),['i ...
- Django之admin管理数据库,cookie验证及分页设置
一.admin管理数据库 1)models.py创建class类表 class Book(models.Model): name=models.CharField(max_length=) price ...
- Django中的session和cookie及分页设置
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- 使用abcpdf分页设置的问题
如果需要在分页时不对模块进行截断,请为相应模块添加打印样式“page-break-inside: avoid” 如果需要在指定位置进行强制分页,请添加:“<div style="pag ...
- MyBatis limit分页设置
错误的写法: <select id="queryMyApplicationRecord" parameterType="MyApplicationRequest&q ...
- Django分页设置
1. """ 分页组件使用示例: obj = Pagination(request.GET.get('page',1),len(USER_LIST),request.pa ...
- django中的分页设置
1.在控制台中的展示 from django.core.paginator import Paginator iter = 'abcdefghijklmn' inator = Paginator(it ...
- RDLC打印或导出Word的 分页设置 页边距和页面大小
RDLC 导出Word的时候发现,Word的尺寸和页边距有问题,查了MSDN看到这样一段话 Page Sizing When the report is rendered, the Word page ...
随机推荐
- Exploit-Exercises nebule 旅行日志(一)
exploit-exercises.com provides a variety of virtual machines, documentation and challenges that can ...
- Android依赖管理与私服搭建
在Android开发中,一个项目需要依赖许多的库,我们自己写的,第三方的等等,这篇文件介绍的就是自己搭建私服,创建自己的仓库,进行对我们自己写的库依赖管理.本文是在 mac book pro 环境上搭 ...
- Python教程(2.5)——控制台输入
写Python程序时,你可能希望用户与程序有所交互.例如你可能希望用户输入一些信息,这样就可以让程序的扩展性提高. 这一节我们来谈一谈Python的控制台输入. 输入字符串 Python提供一个叫做i ...
- 前端向后台的华丽转身 — PHP基础篇
这一次,本K带大家来看一下关于PHP中数组.字符串的一些注意事项和函数(方法). 一.PHP中的数组 (一)PHP中的数组简介 数组类型是PHP两种复合数据类型之一.根据下标的不同,可以将PHP中的数 ...
- SQL SERVER大话存储结构(6)_数据库数据文件
数据库文件有两大类:数据文件跟日志文件,每一个数据库至少各有一个数据文件或者日志文件,数据文件用来存储数据,日志文件用来存储数据库的事务修改情况,可用于恢复数据库使用. 这里分 ...
- C++抽象编程·运算符重载与友元函数
运算符重载(Operator overloading) 从我们在几个前篇的类的层次介绍中可以知道,C++可以扩展标准运算符,使其适用于新类型.这种技术称为运算符重载. 例如,字符串类重载+运算符,使其 ...
- mybatis批量增、删、改(更新)操作oracle和mysql批量写法小记
前言:用mybatis也好几年了,mybatis在批量的增删操作也写起来也是比较简单的,只有批量更新这一块是特别坑,特此记录. 注:本文主要用来记录oracle和mysql数据库在使用mybatis的 ...
- [原创]嵌入CEF遇到的问题及解决方案
这几天程序嵌入谷歌浏览器,各种坑,不容易,记录之...希望到此为止 1. 开了多进程模式之后,渲染进程RenderProcess断点没有进入. 只有在单进程模式(CefSingleProcess为tr ...
- 借用mysql 或者其他数据库 处理MSSQL 2016前处理导入特殊字符
MSSQL 2016支持了utf8编码的文件,之前处理比较麻烦的bcp 方式导入特殊字符一下子就方便了. 但是之前的版本,处理起来还是有一点麻烦.这次处理使用的数据库版本是sql server 201 ...
- maven插件打包可执行jar
pom文件加 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</grou ...