【问题标题】:Extjs4 store filter - search within stringExtjs4 商店过滤器 - 在字符串中搜索
【发布时间】:2012-08-08 05:33:56
【问题描述】:

在extjs中存储过滤功能如下:

store.filter(过滤器,值);即 => store.filter(列名,要搜索的字符串);

该值与存储值连续匹配,IE如果我必须在“abcd”中搜索“bc”它不会找到它但是当我给ab时它会匹配,因为abcd以ab开头。

如何在存储过滤器期间过滤带有字符串的值,我也想获得与字符串匹配的所有结果,而不仅仅是字符串的开头。

【问题讨论】:

    标签: filter extjs4 store


    【解决方案1】:

    使用自定义过滤功能。下面是一个未经测试的例子:

    var myfilter = new Ext.util.Filter({
        filterFn: function(rec) {
            return rec.get('columnname').indexOf('bc') > -1;
        }
    });
    
    store.filter(myfilter);
    

    或者使用 filterBy 方法。

    store.filterBy(function(rec){
                return rec.get('columnname').indexOf('bc') > -1;
            }
        });
    

    【讨论】:

    • 那么正则表达式应该是什么?
    • 我已更新示例以使用 indexOf() 方法。它应该是直截了当的。
    • 如果你想使用正则表达式搜索,那也很简单。 var 正则表达式 = /bc/; store.filterBy(function(rec){ return regex.test(rec.get("columnname")); });
    猜你喜欢
    • 2012-10-09
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 2013-07-12
    • 2011-07-03
    • 2019-09-17
    • 2013-10-31
    • 2018-06-29
    相关资源
    最近更新 更多