历史版本14 :下拉框模糊搜索精确匹配方案 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
功能变更
11.0--

1.2 问题描述

目前下拉框控件自带的模糊查询功能,在匹配的时候会将多个字符拆开来进行匹配。例如输入 ABC ,则会匹配数据字典中同时有 A、B、C 且顺序一致的数据,而不是匹配 ABC 连在一起的数据。那么要怎么实现精确一些的模糊搜索呢?

1.3 实现思路

数据库的 like 语句是可以实现精确的模糊搜索功能的,那就可以利用控件数据字典联动的方式来实现需求。

注1:11.0.2 及以后,控件模糊搜索逻辑优化,可以实现精确匹配,可参考文档:下拉框/下拉复选框/下拉树的模糊搜索

注2:新参数样式不支持此方法。

2. 示例编辑

2.1 数据准备

1)新建数据集 ds1,数据库查询语句为:SELECT * FROM S客户 WHERE 客户ID like '%${abc}%',如下图所示:

Snag_eaf5567.png

2)新建数据集 ds2,数据库查询语句为:SELECT * FROM S客户,如下图所示:

Snag_eb25885.png

2.2 报表设计

1)在参数面板拖入 2 个标签控件和 2 个下拉框控件,给第一个下拉框控件设置控件名称为abc,第一个标签控件名称为模糊查询结果,给第二个下标签控件名称为下拉框自带模糊查询结果,如下图所示:

2)下拉框数据字典分别设置为 ds1 ds2 ,实际值和显示值都绑定客户 ID 字段,如下图所示:

3)下拉框控件均勾选允许直接编辑允许自定义值,如下图所示:

2.3 效果预览

2.3.1 PC 端

保存报表,点击分页预览,在第一个下拉框控件中输入 BL ,查询出结果为 BLAUS、BLONP ,在第二个下拉框控件中输入 BL ,查询出结果为BLAUS、BLONP、BOLID,如下图所示:

动画2.gif

2.3.2 移动端

App 与 HTML5 端效果相同,如下图所示:

动画3.gif

3. 模板下载编辑

已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Parameter\下拉框模糊搜索精确匹配方案.cpt

点击下载模板:下拉框模糊搜索精确匹配方案.cpt