FineReport是一款报表设计工具,可以根据需要设计各种不同样式的报表,并且可以通过网页进行访问。最近在做一个报表,要实现查询和分页的功能,经过一番研究后终于实现了,在此做一个总结。
查询
1.首先我们需要创建一个数据集,数据集一般是一个查询的SQL语句,然后在中间的表格中创建报表,拖动数据集中的数据列到报表列中以填充数据。
2.点击报表上方的铅笔图标,出现一块白色区域,可以拖动上方的控件图标来添加一个控件,我这里添加的控件主要是标签控件
和下拉框控件
,然后在右边侧边栏找到控件图标,点开对每个控件的属性进行设置。标签控件
主要设置控件名称
、控件值
这两项,下拉框控件
主要设置控件名称
、标签名称
和数据字典
三项。
3.下拉框控件
的属性设置重点在数据字典
这一项。点击左边的侧边栏下方模版数据集
上方的+
图标,创建数据集,编写下拉框数据的查询SQL语句并保存。
4.点击下拉框控件
的数据字典
旁边的按钮,弹出“数据字典”弹出框,类型设置选择数据查询
,数据集选择我们上一步创建的数据集,实际值表示的是带入SQL中查询的字段,显示值表示的是显示在页面上的字段,这个可根据实际需求进行设置。
5.回到报表数据的数据集,点击上方的编辑按钮,添加where条件格式如下:
${if(len(控件名称) == 0,"","and 字段名 = '" + 控件名称 + "'")}
6.选择顶部菜单文件
-保存
对cpt文件进行保存,然后点击社区
下方的预览图标,跳转到网页中预览测试一下功能是否实现。
分页显示
1.选中A4单元格,选择右边侧边栏条件属性
并单击编辑按钮。
2.属性栏里面选择
分页
,下拉框里面选择行后分页
。公式条件类型里面选择公式
,然后点击新增
进行添加。公式为:
&A4 % 5 = 0
&A4为每组中信访编号的序号,此条件属性的作用就是让每页最多显示5条数据,每5条数据为1页。
3.点击预览图标,会发现预览页面并没有显示出分页的按钮,这个时候我们只需要把.cpt
后面的参数改为&__bypagesize__=false
即可显示出分页按钮来进行预览和测试。