Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExtJS 6按lastname或middlename筛选网格存储_Javascript_Extjs_Filter_Store_Extjs6 - Fatal编程技术网

Javascript ExtJS 6按lastname或middlename筛选网格存储

Javascript ExtJS 6按lastname或middlename筛选网格存储,javascript,extjs,filter,store,extjs6,Javascript,Extjs,Filter,Store,Extjs6,我是ExtJS新手。 我有一个网格存储,它有一个列FullName,我想按lastname或middlename筛选存储。 我用过这个代码 tbar: [ 'Search', { xtype: 'textfield', listeners: { specialkey: function(field, e) { if(e.getKey() == e.ENTER) {

我是ExtJS新手。 我有一个网格存储,它有一个列FullName,我想按lastname或middlename筛选存储。 我用过这个代码

tbar: [
    'Search', {
        xtype: 'textfield',
        listeners: {
            specialkey: function(field, e) {
                if(e.getKey() == e.ENTER) {
                    var texto = field.getValue();
                    store_Pessoas.removeFilter('filtersIdPessoasValor');
                    if(isNaN(texto)) {
                        store_Pessoas.addFilter({
                            id: 'filtersIdPessoasValor',
                            property: 'tFullName',
                            value: texto
                        });
                    store_Pessoas.load();
                }
            }
        }
    }
]

使用此代码,我只能按firstname及以后的名称进行筛选,但我希望按middlename或lastname进行筛选。

您的网格可以有一列“FullName”,但您的商店应该为firstname、middlename和lastname提供单独的字段。否则,您只需假设全名的格式是一致的,以便能够根据middle和lastname对其进行过滤

您可以使用filterBy编写自己的自定义筛选函数-

var texto=field.getValue();
存储_Pessoas.clearFilter();
if(isNaN(texto)){
存储过滤器(功能(记录){
var fullname=record.get('fullname');
//假设您的名字具有FIRSTNAME MIDDLENAME LASTNAME结构
var name=fullname.split(“”;//将字符串拆分为3的数组
//姓名[1]-中间名/姓名[2]-姓氏
如果(名称[1].toLowerCase().indexOf(textto.toLowerCase())!=-1 | |名称[2].toLowerCase().indexOf(textto.toLowerCase())!=-1){
返回true;
}
返回false;
});
};