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

目录:

1. 概述编辑

1.1 版本

报表服务器版本
功能变更
11.0.2控件模糊搜索逻辑优化

1.2 功能简介

在使用控件进行填报或查询数据时,若数据字典中的数据很多找起来会很麻烦。因此 FineReport 提供了控件的模糊搜索功能来提高输入效率,适用的控件为下拉框、下拉复选框、下拉树、新多选下拉树。

2. 功能逻辑 编辑

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

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

匹配显示值和实际值

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

只匹配显示值

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

匹配字母时大小写

不区分大小写

区分大小写

数字、字母匹配逻辑

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

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

字母匹配汉字逻辑

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


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

匹配的选项排列排序

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

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

注:「下拉框控件」需要勾选允许编辑,才能输入字符。

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 下拉树

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

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

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

4. 注意事项编辑

4.1 下拉树模糊搜索慢

问题描述

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

解决方案

建议在数据层级较多的情况下,使用极速分层构建,设置好数据层级依赖关系即可。

注:极速分层构建详情参见 下拉树控件极速分层构建示例 中的相关内容。