2015-10-13 69 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