在 sencha touch 中存储过滤器(多项)
Store filter in sencha touch (multiple items)
看到这个问题,我想更进一步
首先,我过滤 table(目前有效):
然后我会根据第一个table的过滤器过滤另一个table。
结果将是:
或(例如):
现在我测试了类似的东西:
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
}});
}});
}});
}});
});
有人知道它如何正常工作吗?
首先,我们应该从第一个筛选的商店中找到所有唯一编号。
然后,我们应该根据这些唯一数字数组过滤第二家商店。
为此,我们将使用 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"));
});
看到这个问题,我想更进一步
首先,我过滤 table(目前有效):
然后我会根据第一个table的过滤器过滤另一个table。
结果将是:
或(例如):
现在我测试了类似的东西:
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
}});
}});
}});
}});
});
有人知道它如何正常工作吗?
首先,我们应该从第一个筛选的商店中找到所有唯一编号。
然后,我们应该根据这些唯一数字数组过滤第二家商店。
为此,我们将使用 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"));
});