1. 概述
1.1 问题描述
当数据集参数的控件为下拉复选框时,经常会遇到下图所示问题:只选一个值时没有问题,但选多个值时,查询无数据。
1.2 实现思路
修改下拉复选框控件的返回值类型,设置分隔符。
2. 示例
2.1 数据准备
新建普通报表,新建数据集 ds1,SQL 语句为:SELECT * FROM S产品 where 产品名称 in ('${name}')
注:参数为是字符串类型时,请务必添加单引号;如为数值型,则无需加单引号。
2.2 报表设计
如下图设计表格,将字段拖入到对应单元格中:
2.3 添加参数控件
编辑参数面板,点击右侧控件设置上方的全部添加,生成参数控件,点击参数框,选择下拉复选框控件
2.4 设置参数控件的数据字典
选中下拉复选框控件,控件名称为 name,设置数据字典为数据库表,选择内置数据库FRDemo的S产品表,实际值和显示值都为产品名称;设置返回值类型为字符串,将分隔符设置为【','】(即单引号中间加一个逗号,此处分隔符的设置是为了将所选的多个参数值分隔开,例:当产品名称选择 苹果汁、牛奶 时,返回值为 苹果汁','牛奶 )
注:分隔符必须在英文半角状态下输入。
2.5 效果预览
2.5.1 PC 端
保存模板,点击分页预览,效果如下图所示:
2.5.2 移动端
App 及 HTML5 效果如下图所示:
3. 模板下载
已完成模板可参见:
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\MultiValue\下拉复选框多值查询.cpt
点击下载模板:下拉复选框多值查询.cpt