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

目录:

1. 概述编辑

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

2. 功能逻辑 编辑

1)模糊搜索即用户输入字符串中的某个字符时,对应的数据就会被查询出来。英文字符串是不分大小写的,而对于中文字符串只需要输入拼音的首字母即可查询出对应的数据。

2)如果输入多个字符来模糊搜索,在匹配的时候会将多个字符拆开来进行匹配。例如输入 ABC ,则会匹配数据字典中同时有 A、B、C 且顺序一致的数据,而不是匹配 ABC 连在一起的数据。如下图所示:

3)模糊搜索支持匹配实际值和显示值。比如某条数据的实际值是 A ,显示值是 B ,此时输入 A 或者 B ,都能匹配到该条数据。

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

3. 示例 编辑

3.1 下拉框

3.1.1 英文字符串

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

222

3.1.2 中文字符串

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

222

3.2 下拉复选框

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

222

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

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

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

222

选中王伟即可。

3.3 下拉树

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

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

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

4. 注意事项编辑

4.1 下拉框模糊搜索慢

问题描述

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

原因分析

1)数据层级较多,导致搜索时间长,系统卡顿。

2)设计器 JAR 包较老,需要升级。

解决方案

1)建议使用下拉树控件极速分层构建,设置好数据层级依赖关系即可。

2)升级 JAR 包,升级后使用下拉树控件极速分层构建即可。