存储过滤器大于或等于

时间:2013-11-04 05:25:40

标签: extjs sencha-touch sencha-touch-2 sencha-architect sencha-touch-2.1

我有一个包含分数的商店。我需要过滤掉分数> 10且小于3。 是否可以过滤掉数据。 我试过了:

    Ext.getStore('MyStore').clearFilter(true);
    var RStore = Ext.getStore('MyStore');
    RStore.filter('score', '2');

这是有效的。但它会过滤得分为2的字段。 我需要得分> 10的商店数据....

我看到了一个不可能的堆栈链接

Extjs 4 remote filter store smaller (<) bigger (>) than

请帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

试试这个:

    var store = Ext.getStore('MyStore');
    store.clearFilter(true);

    store.filterBy(function(record, id){
    if(record.get("score") < 3 || record.get("score") > 10){
      return true;
    }    
    return false;
}, this);

您可以在演示文稿中看到此内容:https://fiddle.sencha.com/#fiddle/1359

答案 1 :(得分:0)

您可以编写自己的过滤功能。

看看: ExtJS-store-filterby

答案 2 :(得分:0)

你也可以这样做:

var RStore = Ext.getStore('MyStore');    
RStore.clearFilter(true);

RStore.filter([
     {filterFn: function(item) { return item.get("score") > 10 || item.get("score") < 3;     }}
]);

希望这会有所帮助。