历史版本18 :下拉框/下拉复选框/下拉树的模糊搜索 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
功能变更
11.0.2控件模糊搜索逻辑优化
11.0.3下拉树控件模糊搜索触发逻辑优化、搜索节点展开逻辑优化,详情见 2 节表格
11.0.6下拉树控件模糊搜索展开节点数量逻辑优化,详情见 2 节表格
11.0.10修改控件模糊匹配字母逻辑,改为不区分大小写,详情见 2 节表格

1.2 功能简介

在使用控件进行填报或查询数据时,若数据字典中的选项很多,找起来会很麻烦,因此 FineReport 提供了控件的模糊搜索功能来提高输入效率。如下图所示:

模糊搜索功能适用的控件为下拉框、下拉复选框、下拉树、新多选下拉树控件。

注:控件使用模糊搜索前提是控件能输入字符,所以控件「属性>校验」处必须勾选「允许编辑」。

2. 功能逻辑 编辑

注:11.0.2 及以后带有下拉框的控件模糊搜索功能优化,更利于用户使用,区别改动较大,具体可参考下表。

类别
优化前优化后
匹配选项

匹配显示值和实际值

实际值为产品类型,显示值为产品名称:

只匹配显示值

实际值为产品类型,显示值为产品名称:

匹配字母时大小写

注:11.0.10 及以后,匹配字母时,不再区分大小写。

不区分大小写

区分大小写

数字、字母匹配逻辑

数字、字母被分词,和搜索内容顺序不一致时也会被搜索出来

数字、字母不会被分词,和搜索内容顺序不一致时不会被搜索出来,只匹配顺序一致的数据

字母匹配汉字逻辑

字母与汉字选项的汉语拼音进行匹


字母与汉字选项的汉语拼音首字母进行匹配

匹配的选项排列排序

模糊搜索后匹配的选项按照数据本身的顺序进行展示

模糊搜索后匹配的选项按匹配程度行排序,匹配程度高的排在前面,同一匹配程度的选项按照数据本身的顺序进行排序。下拉树控件匹配项的层级越高,排序越靠前;同一层级按照匹配程度进行排序。

下拉树控件展开逻辑

注:11.0.3 及以后。

模糊搜索时,当某个节点匹配了搜索关键字时,该节点展开


模糊搜索时,当某个节点匹配了搜索关键字时,该节点不展开;只有当该节点的子节点或者子节点的子节点被匹配时,此节点才展开。

下拉树控件触发机制

注:11.0.3 及以后。

在用非英文输入法输入文本时,在未选择字符前也触发模糊搜索,出现选项下拉框。

2022-02-10_13-54-33.gif

在用非英文输入法输入文本时,只有选择字符后才触发模糊搜索,出现选项下拉框。

2022-02-10_13-53-51.gif

下拉树控件节点数量

注:11.0.6 及以后。

全部展开

默认展开搜索匹配结果的前 100 个节点

3. 示例 编辑

3.1 下拉框

3.1.1 英文字符串

若下拉框中存在 JOHN 和 ANNA 两条数据,输入 则过滤出包含 的所有数据即 JOHN,若输入 则过滤出包含 的所有数据即 JOHN ANNA ,如下图所示:

3.1.2 中文字符串

若下拉框中存在江苏和浙江两条数据,输入 j 则过滤出拼音的首字母中包含j的所有数据即江苏浙江,若输入 JS 则过滤出首字符的拼音是 js 的所有数据即江苏,如下图所示:

222

3.2 下拉复选框

类似于下拉框的模糊查询,下拉复选框也有该此功能。由于复选框可以选择多个值,故不同于下拉框,下拉复选框可以模糊查询多个值,如下图,在模板中添加一个「下拉复选框控件」,数据字典设置如下图所示:

222

预览模板,使用模糊查询选择张珊王伟两个值。

在下拉复选框的文本框中输z,则过滤出拼音的首字母中包含z 的所有数据,如下图所示:
222

勾选张珊之后,张珊的值则会返回至文本框中,在后面接着输入w,下拉复选框则会过滤出拼音的首字母中包含w的所有数据,如下图所示:

222

选中王伟即可。

3.3 下拉树

单选下拉树控件的快速查询与下拉框一致。多选下拉树控件的快速查询与下拉复选框一致。

如果下拉树的模糊搜索不生效 ,可以检查下数据字典的数据结构。

11.0.6 之前的版本,在下拉树自动构建方式下,要求根节点的父节点必须为空,如下图所示:

4. 注意事项编辑

4.1 下拉树模糊搜索慢

问题描述

下拉树使用普通分层构建时,在数据层级较多的情况下,模糊搜索会卡顿,搜索时间较长,可能会导致整个报表系统卡死。

解决方案

注:11.0.3 及以后,对下拉树控件模糊搜索时卡顿的问题做了性能优化,用户可升级使用。

建议在数据层级较多的情况下,使用极速分层构建,设置好数据层级依赖关系即可。极速分层构建示例可参见:下拉树控件极速分层构建示例