Javascript 如何循环存储和统计sencha上的字段数据
我在sencha有一家商店,代码如下Javascript 如何循环存储和统计sencha上的字段数据,javascript,mysql,extjs,Javascript,Mysql,Extjs,我在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 || {};
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)]);
}
});
我需要循环遍历存储并计算来自mysql数据库的一个名为gender的字段,数据库被加载并检索数据,但是我需要迭代数据以计算数据库中有多少男性和女性。因此,在数据库中,男性被定义为1,女性被定义为2。所有这些数据都会加载到存储中
我只需要知道如何区分男性和女性。我知道你必须在sencha中使用foreach函数
加载后编写代码存储
yourStore.queryBy(function(record,id){ return (record.get('Your Field name') === "male/female"); }).getCount(); // For male/female
您可以借助store的
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();
我试过了,但中途我找到了另一种方法,我决定实际编写一个非常具体的SQL查询,以我需要的方式形成数据,这样我就不需要在存储中进行筛选谢谢你的帮助