0

以下のサポート人数の会議室のリストがあります。データは次のようなものです。

{
            "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

ここで、フィルターを追加して、アプリを満たすために必要なpplの数を選択すると、この数よりも大きい容量を持つすべての部屋が表示されるようにします。

例:4 pplの部屋を探していると言うと、部屋1、2、3が表示されます。2 pplの部屋を検索すると、すべての部屋が表示されます。等。

今のところ、私がフィルターを使用する場合、これは私が今していることです:

store.filter("capacity",2) 

容量が2の部屋のみが表示されます。それ以上の容量の部屋は表示されません。

私は何をすべきか???

4

1 に答える 1

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

于 2012-04-12T12:07:01.363 に答える