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 ...
随机推荐
- java虚拟机学习-慢慢琢磨JVM(2)
1 JVM简介 JVM是我们Javaer的最基本功底了,刚开始学Java的时候,一般都是从“Hello World”开始的,然后会写个复杂点class,然后再找一些开源框架,比如Spring,Hibe ...
- pycharm5工具免费分享及安装教程
好东西,就要分享,最近在捣鼓Python,所以就找个pycharm5工具,感觉挺好用的. 废话不多说了,所见即所得: 百度云盘分享:http://pan.baidu.com/s/1sk9k4Nj 密码 ...
- API文档工具-Swagger的集成
最近安装了API文档工具swagger,因为Github上已有详细安装教程,且安装过程中没有碰到大的阻碍,所以此文仅对这次安装做一份大致记录 相关网站 Swagger 官方地址: http://swa ...
- (数字IC)低功耗设计入门(六)——门级电路低功耗设计优化
三.门级电路低功耗设计优化 (1)门级电路的功耗优化综述 门级电路的功耗优化(Gate Level Power Optimization,简称GLPO)是从已经映射的门级网表开始,对设计进行功耗的优化 ...
- qrcode生成二维码插件
今天我要和大家分享的是利用qrcode来生成二维码. 首先要使用qrcode就需要引用文件,我这边用的是1.7.2版本的jquery加上qrcode <script type="tex ...
- javascript中break和continue的区别
1.break:跳出循环. 2.continue:跳过循环中的一个迭代.(迭代:重复反馈过程的滑动,其目的是为了逼近所需目标或结果.每一次对过程的重复称为一次"迭代",而每一次迭代 ...
- (转)wxWidgets 2.9.2svn(3.x)最小体积编译方法
官方论坛.网上记录的wxWidgets编译方法,会导致编译后的程序库非常大,原因在于对编译的方法选择不当.下面简单总结一下如何编译最新的SVN代码.下载最新源码(每日构建):http://biolpc ...
- 排序算法 - 插入排序(Insertion sort)
插入排序对于少量元素的排序是很高效的,而且这个排序的手法在每个人生活中也是有的哦. 你可能没有意识到,当你打牌的时候,就是用的插入排序. 概念 从桌上的牌堆摸牌,牌堆内是杂乱无序的,但是我们摸上牌的时 ...
- angular.js的ng-app 指令定义一个 AngularJS 应用程序。
<!DOCTYPE html> <html lang="en" ng-app> <head> <meta charset="UT ...
- WPF MVVM 架构 Step By Step(4)(添加bindings - 完全去掉后台代码)
之前的改进已经挺棒的,但是我们现在知道了后台代码的问题,那是否可能把后台代码全部去除呢?这时候就该WPF binding 和 commands 来做的事情了. WPF就是以超吊的binding,com ...