0
我正在按符号筛选股票列表,但它不起作用。代码可能有问题吗?我错过了什么?这里有一些事情我已经试过:如何筛选Sencha Touch 2中的列表?
function filterBySymbol: function(select, value) {
var ordersStore = this.getBrokerageOrderHistoryList().getStore();
ordersStore.clearFilter();
if (value !== '') {
ordersStore.data.filterBy(function (record, id) {
// log to make certain this gets called (and it is)
console.log(id, record.get('symbol') === value);
return record.get('symbol') === value;
});
// Other things I've tried (nothing worked):
// 1)
// var f = new Ext.util.Filter({
// filterFn: function(record) {
// return record.get('symbol') === value;
// }
// });
// ordersStore.filterBy(f);
// 2)
// ordersStore.filter(function (record) {
// return record.get('symbol') === value;
// });
// 3)
// this.getBrokerageOrderHistoryList().setStore(ordersStore);
// this.getBrokerageOrderHistoryList().refresh();
}
}
不幸的是,所有这些工作。传递给orderStore.filterBy的lambda永远不会被调用。如果传递给orderStore.data.filterBy,它会被调用。 filterFn也不会被调用。对第一种方法没有把握,但列表内容不会改变:\ – Vitaly 2012-08-02 09:49:52
好像您已将商店配置为不正确。我更新了样品后,它的工作 – Madman 2012-08-03 07:38:33
谢谢你。你可能是对的。我有一个模型和一个商店,该模型有一个hasMany属性,指向另一个模型。我想,我应该为拥有很多属性的模型创建一个商店。 – Vitaly 2012-08-05 11:27:08