系统使用时间长,数量量大后,做统计查询或者统计报表时,符合条件的记录越来越多;而“查询模板”和“数据接口”目前是一次性将所有符合条件的记录都查询出来(数据接口或者查询一次筛选的记录条数最大为5万条,超过这个记录条数时,系统将报错),如何让设计既满足统计的需求又不影响系统的运行效率呢?
利用填表公式的“分页”功能,将统计的结果分页显示到统计报表中。
1.认识分页
①所在位置: 【填表公式】-“数据源”-“分页参数”。
②当数据源选择“模板数据接口”后,会显示“参数绑定”和“分页参数”2个标签页,选中“分页参数”选项卡,勾选“支持分页加载”,给“页码”和“每页行数”赋值。
页码:按照设置的“每页行数”显示第几页的查询结果;
每页行数:设置每页显示多少条查询的结果;
③支持分页加载后,数据源中会增加4个系统数据项(_RowNO 是指数据源的几条记录,是否支持分页加载都会显示)
_pageIndex 第几页 ,当前查询“数据源”的第几页
_pageSize 每页行数 ,一次查询多少记录
_pageCount 总页数 ,按照“每页行数”设置,查询的所有结果可分为多少页
_totalCount 总记录条数 ,查询结果一共有多少条记录
2.应用案例
我们以“入库明细查询”为例,当参数有值时根据参数的值进行分页查询,当参数没有值时将所有的数据进行分页查询。
具体效果:单击【查询】时,显示总记录数,当页行数,总页数。可通过单击【上一节】【下一页】查询显示不同页的数据,并做校验第一页不可单击【上一页】,最后一页不可单击【下一页】,或者直接修改“当前页”跳转到指定的页。单击【第一页】显示第一页的数据。
2.1模板
①新建模板“入库明细查询表”样式设计如下,当前模板的【模板属性】中勾选“不保存到数据库”,让模板成为“查询模板”。
为了体验更好可将“总记录数”、“当前行数”、“总页数”3个数据项的单元格设置为锁定,不允许手动修改。并在“供应商编号”、“仓库编号”、“商品编号”3个数据项的“填写规范”上调用数据接口实现快速填写
2.2 数据接口
设计数据接口“明细查询(开始日期,结束日期,供应商编号,仓库编号,商品编号)”,数据由《采购入库单》模板提供,需要在《采购入库单》模板设计该接口。
数据源:本模板.明细 ;数据列:所有需要筛选出的数据项;过滤条件:根据5个参数执行查询,当参数填写值时精确查询,当参数没有填写时查询所有符合条件的结果,给每个参数分别判断并用括号括起来先运行。
2.3 设置分页
①设置初始信息,单击【查询】数据项的单元格按钮时触发,默认为第1页及每页需要显示多少行(目前设置为10行)
②填写分页信息。“数据源”调用刚设置的数据接口“明细查询”,设置“参数绑定”和“分页参数”。
“参数绑定”中将本表单的数据项赋值给参数;
“分页参数”中勾选“支持分页加载”,并调用本表单的数据项赋值给“页码”和“每页行数”赋值,此时会按照每页10条记录查询第1页的数据。
赋值“总记录数”、“总页数”、“当前页”,直接调用数据源的数据。
③赋值明细。公式“赋值_明细”,数据源设置与上一步相同,此时用于将查询的结果插入到明细表中显示。
④单击【上一页】。先校验第一页,再重新计算当前页=当前页-1 ,最后引用公式“赋值_明细”;
⑤单击【下一页】。先校验最后-页,再重新计算当前页=当前页+1 ,最后引用公式“赋值_明细”;
⑥单击【跳转】。直接引用公式“赋值_明细”,根据设置的“当前页”执行查询;
⑦单击【第一页】,给当前页赋值1,并引用公式“赋值_明细”,重新执行查询;