1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
1.2 问题描述
大数据量时使用下拉框的模糊搜索速度会比较慢,那么如何优化速度呢?
1.3 实现思路
可以借助文本框先对数据进行一次过滤后,通过控件数据字典联动的方式再使用下拉框进行模糊搜索,从而提高速度。如下图所示:
2. 示例
2.1 新建数据集
1)新建数据集 ds1,从 FRDemo 取数,sql语句为:SELECT * FROM STSCORE where name like '%${if(len(id)=0,"error",id)}%',此语句的意义为:如果文本框未填写,则使用error字符串来模糊搜索,即不查出任何数据。如果文本框填写了,则使用填写值来模糊搜索。如下图所示:
2.2 设置参数控件
在参数面板中选择全部添加,控件值分别为模糊查询输入:、产品名称,分别选择文本框控件和下拉框控件,如下图所示:
为下拉框控件绑定数据字典,数据字典内容为 2.1 节新建的 ds1 数据集,如下图所示:
ds1 中定义的 id 参数和文本控件绑定,当本文控件输入值时,ds1 数据集就会先模糊查询出备选值作为下拉框的选项,从而达到减少下拉框选项的效果。
2.3 报表设计
1)报表设计格式,如下图所示:
2)双击 A1 单元格设置过滤条件,NAME 列 等于 $name ,如下图所示:
2.4 效果预览
2.4.1 PC 端
PC 端效果如下图所示:
2.4.2 移动端
App 与 HTML5 端效果相同,如下图所示:
3. 已完成模板
已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Parameter\下拉框模糊搜索慢的解决方案.cpt
点击下载模板:下拉框模糊搜索慢的解决方案.cpt