FineReport 参数查询
一、实现步骤:
![20190125144608601.png][]
1、参数定义:在 sql 语句中添加条件参数查询
2、添加控件绑定数据:在参数面板中添加控件,使控件名字与参数名称一样,通过该控件将其控件值传递给参数,实现动态修改参数值得效果,可为控件绑定数据,直接选择
3、参数面板样式设定:设置参数界面中控件的位置,参数面板的位置,背景等
二、参数命名规则
1、必须遵循的命名规则:
1)不能以数字、$符号开头。
2)变量名只能是字母(a-z A-Z)、数字(0-9)、下划线(\_)、(@)或中文的组合,并且之间不能包含空格。
3)变量名中不能含有? \* . - 等字符和空格。
4)变量名不能使用编程语言的保留字。比如小写的true、false等保留字。但大写的TRUE、FALSE可以。
2、注意事项:
1)字符参数有英文单引号 '$\{adce\}' ,数字参数没有英文单引号 $\{adce\} 。其中adce为参数。
2)参数值的引用格式为参数前面加$符号,如$adce。
3)模板参数与全局参数重名时,采用模板参数。
三、参数实例:
1、等值查询:
1)sql 语句
SELECT
t1.*
FROM
t_user t1
WHERE
t1.username = '${用户名}'
2)添加控件:文本框
![20190125152332277.png][]
3)浏览即可 等值条件查询
2、参数为空, 查询全部:
1)sql 语句
SELECT
t1.*
FROM
t_user t1
WHERE
1=1
${if(len(用户名) == 0,"","and t1.username = '" + 用户名 + "'" )}
2)添加控件:文本框,浏览即可 等值条件查询
3、模糊查询:
1)sql 语句
SELECT
t1.*
FROM
t_user t1
WHERE
1=1
${if(len(用户名) == 0,"","and t1.username like '%" + 用户名 + "%'" )}
2)添加控件:文本框,浏览即可 模糊条件查询
4、自定义数据字典查询:
1)sql语句
SELECT
t1.*
FROM
t_user t1
WHERE
1=1
${if(len(用户名) == 0,"","and t1.username like '%" + 用户名 + "%'" )}
${if(len(状态) == 0,"","and t1.status = '" + 状态 + "'" )}
2)添加控件,并设置自定义数据字典
![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70][]
3)浏览即可
![20190125154338499.png][] ![20190125154319172.png][]
5、下拉框为某个字段的值
1)sql 语句
SELECT
t1.*
FROM
t_user t1
WHERE
1=1
${if(len(用户名) == 0,"","and t1.username like '%" + 用户名 + "%'" )}
${if(len(用户名字段) == 0,"","and t1.username = '" + 用户名字段 + "'" )}
2)添加控件,并设置某个数据集的某字段
![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70 1][]
3)浏览即可: 自动去重
![2019012515523365.png][] ![20190125155250365.png][]
下拉框动态初始值
6、复选框为**某个字段的值 / 数据字典 **
1)sql 语句
SELECT
t1.*
FROM
t_user t1
WHERE
1=1
${if(len(用户名) == 0,"","and t1.username in ('" + 用户名 + "')")}
2)添加控件,并设置某个数据集的某字段
![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70 2][]
3)浏览即可:
下拉复选框公式设置后,如何设置默认全选
7、定义动态标题
1、图表标题
2、文本:= 开头
**=“自定义文本”+$参数名+“自定义文本”**
还没有评论,来说两句吧...