gpt4 book ai didi

javascript - 带有内置过滤工具栏的 jqGrid 自定义过滤

转载 作者:行者123 更新时间:2023-11-29 20:15:27 25 4
gpt4 key购买 nike

我正在使用最新的 jqGrid 版本,我想知道是否可以使用自定义规则进行本地过滤(参见下面的示例)。首先,过滤器工具栏可以通过应用打开

jQuery("#grid").jqGrid('filterToolbar', options);

以前是手动实现的(我现在使用的版本不支持本地过滤,所以我根据自己的需要添加了这个功能)现在,更新到最新版本后,我问自己jqGrid是否提供了这个默认情况下的功能(不是本地过滤,而是自定义过滤规则),因为在过去几个月中功能显着增加。我阅读了文档并搜索了互联网,但没有找到合适的示例。

这是我想要实现的示例。

有一列 First Name,其中包含所显示人员的名字。

Stefan
Stephan
Stephano
Stelios
Philip
Phillip
Philipp
Ivan
Iwan
...

现在用户在 First Name 列的过滤栏中输入 Ste,默认过滤算法的结果应该是:)

Stefan
Stephan
Stephano
Stelios

到目前为止一切顺利。但是,如果我想显示拼写相似的名称怎么办?我希望用户输入 Ste*an* 只显示

Stefan
Stephan
Stephano

所以你看,* 代表任意字符零次或多次的通配符。此外,我希望用户能够输入 Ste?an* 导致

Stefan

? 表示任意字符恰好出现一次。最后一个要求是让过滤更加宽容,不仅要匹配空洞线(开始和结束,相当于正则表达式),还要匹配包含输入文本的列值,即 e*o 匹配

Stephano
Stelios

如果你能用 * 通配符给我提示,其他问题应该自行解决。

提前致谢

最佳答案

在我的旧答案中 herehere我描述了如何实现自定义过滤。

如果你在the demo在“客户”列的过滤器中键入例如“ev”,您将看到以下内容:

enter image description here

您可以轻松修改演示,使“Stephan”和“Stefan”等同。

我个人主要使用 filterToolbar 选项中的 defaultSearch: 'cn'。结合 ignoreCase: true 的使用,它可以带来非常好的用户体验。在我个人看来,这样的过滤就足够了。更高级的用户可以使用高级搜索来创建过滤器,例如“以”“Ste”开始并“包含”“an”,而不是 Ste*an*

尽管如此,您可以使用 my old demo 中的想法覆盖一些 internal searching methods由 jqGrid 使用。

关于javascript - 带有内置过滤工具栏的 jqGrid 自定义过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7202133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com