2012-04-12 37 views
0

我有一個會議室列表,其支持的人員具有以下能力。數據是這樣的:對於大於給定值的Sencha觸摸過濾器列表

{ 
      "name" : "Room 1", 
      "city" : "Mumbai", 
      "capacity" : 4 
}, 
{ 
      "name" : "Room 2", 
      "city" : "Mumbai", 
      "capacity" : 10 
}, 
{ 
      "name" : "Room 3", 
      "city" : "Mumbai", 
      "capacity" : 6 
}, 
{ 
      "name" : "Room 6", 
      "city" : "Mumbai", 
      "capacity" : 3 
}, 
{ 
      "name" : "Room 4", 
      "city" : "Mumbai", 
      "capacity" : 2 
}  
// etc etc 

現在我想添加一個過濾器,這樣,當我選擇需要滿足應用的脂肪酶數量顯示我有一個容量大於這個數目所有客房。

例如:如果我說我正在尋找一個4ppl的房間,它應該給我看1,2,3。如果我搜索2人的房間,它會顯示所有的房間。等

截至目前,如果我使用的過濾器,這是我現在做的事:

store.filter("capacity",2) 

,它只能說明我的房間與2不配備了容量更大的容量。

我該怎麼辦?

回答

0

您需要創建一個過濾器的功能是這樣的:

var roomFilter = new Ext.util.Filter({ 
    filterFn: function(item) { 
     return item.capacity > 2; 
    } 
}); 

則:

var largeRooms = store.filter(roomFilter); 

P/S:如果Ext.util.Filter不與你Store工作,你應該創建一個克隆其數據類型爲Ext.util.MixedCollection