我在sencha有一个商店,代码如下
Ext.define('Qvidi.store.MyJsonStore', {
extend: 'Ext.data.Store',
requires: [
'Qvidi.model.Qvidi',
'Ext.data.proxy.Ajax',
'Ext.data.reader.Json'
],
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
storeId: 'MyJsonStore',
model: 'Qvidi.model.Qvidi',
proxy: {
type: 'ajax',
extraParams: {
class: 'Qvidi',
method: 'getData'
},
url: 'server/index.php',
reader: {
type: 'json',
rootProperty: 'results'
}
}
}, cfg)]);
}
});
我需要遍历商店并计算一个名为gender的字段来自mysql数据库,数据库被加载并检索数据,但是我需要遍历数据来计算数据库中有多少男性和女性。因此,男性被定义为数据库中的一个,女性被定义为2.所有这些数据都被加载到商店中。
我只需要知道如何区分男性和女性。我知道你必须在sencha中使用foreach函数。
任何帮助表示赞赏
答案 0 :(得分:1)
加载后编写代码存储
yourStore.queryBy(function(record,id){ return (record.get('Your Field name') === "male/female"); }).getCount(); // For male/female
答案 1 :(得分:1)
你可以帮助filter()
& getCount()
商店的功能来实现这个目标:
var store = Ext.getStore('MyJsonStore');
store.filter('gender',1); //filtering all male records
var maleCount = store.getCount(); //getting the count
store.clearFilter();
store.filter('gender',2); //filtering all female records
var femaleCount=store.getCount();
store.clearFilter();