2015-10-13 44 views
0

我看到這個問題,我想更進一步 https://stackoverflow.com/questions/18606212/store-filter-in-sencha-touch#=商店濾波器(多個項目)

首先我篩選表(這是工作至今): Table 1

然後我將根據第一個表格的過濾器過濾另一個表格。 Table 2

結果可能是: Table 2 Filter 1 green

或(例如): Table 2 Filter 2 yellow

現在我測試的是這樣的:

TABLEVIEWSTORE1.filter("name", name); 

    TABLEVIEWSTORE1.load({callback: function(){ 
     tableviewstore2.load({callback: function(){ 

     TABLEVIEWSTORE1.each(function(item){ 
      tableviewstore2.filterBy(function(record,id){ 
       return record.get("number") == item.get("number"); 
      }, this); 
     }); 

     TABLEVIEWSTORE1.load({callback: function(){ 
      tableviewstore2.load({callback: function(){ 
        // DO MORE THINGS 
      }}); 
     }}); 
      }}); 

    }}); 
}); 

有沒有人一個想法,它如何工作正常嗎?

回答

2

首先,我們應該從第一個過濾商店中找到所有唯一的號碼。 然後,我們應該根據那些唯一的數字數組過濾第二個商店。 我們將爲此使用Ext.Array

var uniqueNumbers= [];  
    TABLEVIEWSTORE1.each(function(item){ 
      Ext.Array.include(uniqueNumbers,item); 
    }); 
    tableviewstore2.filterBy(function(record){ 
        return Ext.Array.contains(uniqueNumbers,record.get("number")); 
       }); 
+0

它的工作原理。非常感謝你:) 我只改變了 Ext.Array.include(uniqueNumbers,item.get(「number」)); – kadddah