表格制作软件FineReport7.1.1
大小:148.2M 适用平台:windows/linux
问题描述进行数据填报时,如果数据量过大,由于前端浏览器的性能限制,如果将数据全部展现出来,速度会非常的慢,影响用户体验,这时候大家就会想,填报是否能想分页预览一样进行分页呢,实现只加载当前页,从而提高性能,下面我们就来介绍填报分页的制作与浏览过程,7.0.4的版本中在op=write下,使用__cutpage__=v参数来启用填报横向不分页纵向分页。
数据准备新建数据集ds1:SELECT top 1000 * FROM [订单明细]。ds2:SELECT * FROM [产品]。
模板设计如下图所示,在模板主体中拖曳数据列至C2~O2单元格,并设置标题:
过滤数据列来源于2个数据集,需要在单元格中设置过滤条件,双击E2单元格,选择过滤,条件设置为产品id等于单元格D2,如下图:注:数据列中来自于ds1的数据列的父格需设置为C2,来自于ds2的数据列的父格需设置为E2。
分页设置形如分页预览中的每页固定显示行数,填报分页也如此设置,如下图,在C2单元格中添加一个条件属性:
重复标题行、冻结行列设置由于上面的报表主体中包含的数据列比较多,并且数据量也比较大,则在web端查看报表时,需要设置重复标题行,并且冻结行列,使查看报表时,仍然能知道该行数据的意义。重复标题行选中标题行,右键,选择重复标题行。冻结行列点击菜单栏的模板>重复与冻结设置,在填报冻结栏里面讲第一行以及第三列冻结起来,如下图:
报表样式设计给报表设置样式,如下图:
效果查看点击填报预览,在URL后面添加参数__cutpage__=v,即可启用填报分页,查看效果:注:填报分页状态下,翻页前,如果修改了当前页的数据,需先保存该页面内容,即传输到服务器端进行保存,那么下次再查看该页内容时,页面显示内容即为编辑后的内容,在保存的过程中,不允许编辑,保存不是提交,报表会自动保存。另:__cutpage__参数前后都有2个下划线。
问题描述上一节介绍了单sheet下的填报分页的制作过程以及使用方式,那么在有多个sheet的情况下,填报分页 的范围不是整个报表,而是每个sheet,即每个sheet分别分页,sheet之间的分页互不相关,下面简单介绍一下。
数据添加点击报表主体左下角的添加,添加2个sheet,sheet2个sheet3,详细请查看简单多sheet例子。sheet2将ds1中的数据列全部拖曳至sheet2中,根据上一节的方法,给sheet设置条件属性,每200行一页,为了显示sheet1和sheet2 的区别,这里我们只显示sheet2中的前600条数据,这样就可以分3页显示。分页设置如下图,给C2单元格设置条件属性,并设置重复标题行。
结果集筛选双击C2单元格,选择高级,在结果集筛选中,选择前N个,输入数字600,详细请查看结果集筛选,如下图:
sheet3切换到sheet3的主体设计界面,将ds2中的数据拖曳一部分进去,设置好样式,如下图:
效果查看点击填报预览,并在URL后面添加参数__cutpage__=v,如下图: