历史版本2 :模糊查询常见问题 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

Finereport 版本
11.0

1.2 应用场景

本文主要汇总使用模糊查询时经常出现的问题以及解决方案。

1)下拉框/下拉复选框/下拉树的模糊搜索逻辑请参考:下拉框/下拉复选框/下拉树的模糊搜索

2)模糊查询的应用场景及实现思路请参考:模糊查询

2. 常见问题及解决方案编辑

2.1 下拉框数据字典数据量大时有性能问题

问题描述:下拉框数据量大时,操作卡顿。

原因分析:下拉框数据为异步加载,一次 500 条,滚动到最后一条时会继续加载接下来的 500 条,因此下拉框一般不会有加载性能问题。但是模糊搜索时,由于需要在全部数据中搜索对应的数据,所以数据量较大时,花费时间也较长,出现性能问题一般都是由于模糊搜索或者数据字典联动导致的。

解决方案:需要手动优化模糊搜索或者数据字典联动的相关设置。

2.2 下拉框输入文字后,用了拼音来模糊搜索,而不是文字

问题描述:下拉框输入文字后,用了拼音来模糊搜索,而不是文字。下拉框输入"羊",匹配出来的是发音为"yang"的内容。

原因分析:部分 win10 自带输入法问题。

解决方案:更换输入法。

2.3 下拉框模糊查询的选项为空

问题描述:模板单元格内输入了关键词以后没有选择下拉选项,鼠标点击了其他区域,这个时候再次编辑关键词没有触发模糊查询。

解决方案:需要点击右侧的小三角展开下拉选项。如下图所示:

1656172397328306.gif

2.4 下拉树模糊查询卡顿

问题描述:下拉树数据比较多,用模糊查询的时候下拉树控件就会加载不出来。

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

解决方案:改用极速分层构建的方式,可以一定程度上优化下拉树模糊查询卡顿,并且建议使用一个数据集作为极速分层构建的配置。

2.5 下拉树模糊搜索失效

问题描述:自动构建下拉树模糊搜索失效。

原因分析:发现有几条数据超过1个父节点,还有几个数据的父节点值跟本身一样。

解决方案:树数据集数据不对,并且如果使用自动构建需要根节点为空

2.6 输入错误值后的下拉树触发模糊搜索

问题描述:下拉树的模糊搜索,输入一个不存在的值后,JS 再传一个存在的值,会加载不出选项,手动输入存在值,可以正常加载。

原因分析:JS 直接传值没触发模糊查询,所以取到的还是上一次的模糊查询结果,通过辅助控件或者 reset 方法触发下。

1)方法一:加一个辅助控件 c,给 c 赋值,并触发 c 的编辑后事件,通过控件之间的联动来取值,如下图所示:

JS 代码如下:

this.options.form.getWidgetByName("c").setValue("1,11,111");
this.options.form.getWidgetByName("c").fireEvent("afteredit");

2)方法二:先 reset 再赋值,点击下拉箭头,选项不会展开,但是取值正常,手动展开,也能看到已经选中了,如下图所示:

JS 代码如下:

this.options.form.getWidgetByName("b").reset();
this.options.form.getWidgetByName("b").setValue("1,11,111");