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个下划线。

时间: 2024-08-28 12:07:45

FineReport填报分页设置的相关文章

dedecms 多语言分页设置

把include目录下 arc.listview.class.php 文件修改为以下内容. 然后在模版中调用的时候使用 {dede:pagelist  listsize="5"  pagelang="cn"/}  来调用 pagelang="cn"为变量 <?php   if(!defined('DEDEINC')) exit('Request Error!'); /** * 文档列表类 * * @version        $Id: a

django中的分页设置

1.在控制台中的展示 from django.core.paginator import Paginator iter = 'abcdefghijklmn' inator = Paginator(iter, 5) page1 = inator.page(1) page1.object_list # 输出当前也的内容 'abcde' page1.number # 输出页码 1 page1.has_next() # 输出是否有下一页 True page1.next_page_number() # 输

Django之admin管理数据库,cookie验证及分页设置

一.admin管理数据库 1)models.py创建class类表 class Book(models.Model): name=models.CharField(max_length=20) price=models.IntegerField() pub_date=models.DateField() publish=models.ForeignKey("Publish") authors=models.ManyToManyField("Author") # 会自

ibatis框架下oracle转mysql的分页设置.

oracle: <select id="queryPageBySearch" resultMap="FullResultMap" parameterClass="java.util.HashMap">//调用方法时使用的id,返回的结果类型,传入的参数类型 <![CDATA[select * from (select newtab_.*,rownum idx_ from (]]> SELECT * FROM USERS &

finereport 填报 单元格 JS 触发 提交SQL 事件

var location = this.options.location; var cr = FR.cellStr2ColumnRow(location); var col = cr.col; var row = cr.row; var ORG_ID = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col, row: row})).getValue(); //alert(goods); //var index=goods.inde

CI框架设置suffix后缀分页错误和路径错误解决办法!

Pagination类进行设置如下,防止分页错误:(return $output之前) //分页设置suffix if($CI->config->item('url_suffix')) { $url_suffix=$CI->config->item('url_suffix'); $output=str_replace($url_suffix,'',$output); $output=preg_replace("/\/([0-9]+)\"/","

ThinkPHP数据分页Page.class.php

获取分页类 ThinkPHP提供了数据分页的扩展类库Page,可以在http://www.thinkphp.cn/extend/241.html下载,或者下载官方的完整扩展包(http://www.thinkphp.cn/down/253.html)里面也已经包含分页扩展类了.把解压后的Page.class.php放入ThinkPHP/Extend/Library/ORG/Util/(如果没有请手动创建)目录下面. 当然,扩展类库的位置其实比较随意,你也可以放入项目的类库目录下面,区别只是在于你

易买网之实现商品分页

易买网是我为期2个星期的一个项目,下面简单介绍一下商品分页. 第一步:创建商品实体类 package entity; public class easybuy_productn { private int ep_id ;//编号 private String ep_name ;//名字 private String ep_description ;//描述 private int ep_price;//价格 private int ep_stock ;//库存 private int epc_i

笔记--------手动分页

1.页面 绑定page对象的  pageSize每页大小 和 pageCurren当前页数(隐藏域中保存这两个值),首次请求后台后,把值放上去. 2.首页,上一页,当前页,下一页,尾页.绑定事件,动态改变pageCurren的值,然后发送请求后台. 3. 每次后台查询出 总的行数totalRows,根据 pageSize计算出总页数totalPages  (totalRows/pageSize), oracle: 开始行数:startRow = (currentPage - 1) * pageS