0

我正在尝试在商店中实现多个过滤器。这是我的代码

var record = hg_mGrid.store.getAt(0);
        var switch_id_cust_group=record.get("switch_id_cust_group");
        hg_nmDs.filter([
                        {property: 'name', value: userFilterName},
                        {property: 'switch_id_cust_group', value: switch_id_cust_group}
                        ]);

hg_nmDs 是一个存储对象,我想过滤它的数据以获取 name 和 switch_id_cust_group 值。我没有收到任何错误,但没有应用两个过滤条件。

我也尝试过这种方式:

var filters=[
                       new Ext.util.Filter({
                        filterFn: function(hg_nmGrid){
                           return hg_nmGrid.get('name') == userFilterName && hg_nmGrid.get('switch_id_cust_group') == switch_id_cust_group;
                        }
                       })
                  ];
        hg_nmDs.filter(filters);

但面对错误“SCRIPT445:对象不支持此操作”行“var filters = [”。你能帮我完成这件事吗?

4

1 回答 1

1

应用过滤器后,您必须加载商店。

var filters = new Ext.util.Filter({ 
    filterFn: function(hg_nmGrid){ 
        return hg_nmGrid.get('name') == userFilterName && hg_nmGrid.get('switch_id_cust_group') == switch_id_cust_group; 
    } 
}) ; 
store.filter(filters);
store.load(function(){
    console.log('Store should be filtered, when this callback function is called');
})
于 2013-11-15T11:35:36.813 回答