以前多多少少用过一些store,总觉得还是处于一知半解的地步,今天总结一下用过的store,及创建的方式.
SimpleStore.常用于下拉框这类比较简单的数据.
var simple = new Ext.data.SimpleStore({//GSM网元粒度
fields: [SEX,'NAME'],
data : [['男',张翔'],['男',张翔'],['女','李慧敏'']]
}),
ArrayStore
new Ext.data.ArrayStore({
data:[{name:'张翔',sex:'男'},{name:'李慧敏',sex:'女'}],
fields:[{name:'name',mapping:'name'},{name:'sex',mapping:'sex'}]
});
JsonStore
.new Ext.data.JsonStore({
data:[{name:'张翔',sex:'男'},{name:'李慧敏',sex:'女'}],
fields:[{name:'name',mapping:'name'},{name:'sex',mapping:'sex'}]
});
XmlStore
var _emp = Ext.data.Record.create([{name:'name',mapping:'name'},{name:'sex',mapping:'sex'}]);
var _store = new Ext.data.XmlStore({
url:'/store/xmlStore.xml',
reader:new Ext.data.XmlReader({
totalRecords:'xml',
record:'emp',
id:'id'
},_emp)
});
/**
**@函数getStore:获取一个数据源
**@params{sMethodUrl}:调用地址
**@params{arrReader}:读取数组
**@return{store}:数据源
*/
function GetStore(sMethodUrl,arrReader){
//连接
var tStoreConn=new Ext.data.Connection({url:sMethodUrl,timeout:300000});
tStoreConn.on('requestexception',function(a,b,c){
Ext.MessageBox.alert("提示",'请求服务器失败,请检测网络连接.');
});
//数据
var store =new Ext.data.Store({
proxy: new Ext.data.HttpProxy(tStoreConn),
reader:new Ext.data.XmlReader({record: 'Row',id: 'id',totalProperty: 'TotalRecords'},arrReader)
});
return store;
}