后台返回数据
一般在Ext中Store的子类有ArrayStore, DirectStore, GroupingStore, JsonStore, XmlStore比较常用的有两种:SimpleStore与JsonStore
1.直接使用Store
var MyRecord = Ext.data.Record.create([
{name : 'rjp.fuelPhotoId'},
{name : 'dateString'},
{name : 'enterName'}
]);
var dataProxy = new Ext.data.HttpProxy(
{
url:'runlog/findAllPhoto.action'
}
);
var theReader = new Ext.data.JsonReader({
root : "list",
totalProperty : "totalCount"
}, MyRecord);
var store = new Ext.data.Store({
proxy : dataProxy,
reader : theReader
});
a. 每个store最少需要两个组件的支持,分别是proxy和reader,proxy用于从某个途径读取原始数据,reader用于将原始数据转换成Record实例。
b. Store内部并不知道数据对象的格式 (它可能是一个Array, XML或者JSON)。 Store对象使用一个 DataReader 类的可配置实现从数据对象创建 Record 的实例。
c. Store中的proxy配置项可以替换为url:如果没有指定 proxy,此url将会被用来隐含配置一个 HttpProxy 。
2.simpleStore的用法和Store相同
3.JsonStore的用法
由于Store内部定义为Json格式因此reader配置项不在需要
var queryStore = new Ext.data.JsonStore({
url : 'runNew/getOperateTicketList.action',
root : 'list',
totalProperty : 'totalCount',
fields : rungridlist //构造器,和上面的MyRecord相同
});
后台返回的数据是以Json格式返回的:pg是一个对象包含list和totalCount
本地数据
store : new Ext.data.SimpleStore({
fields : ['value', 'text'],
data : [['','全部'],['0','未上报'],['1','采购员已申请']]
}),
向Store中插入一条数据
var storeSubShow = new Ext.data.JsonStore({
fields : ['empId', 'chsName', 'stationId', 'stationName', 'ssDeptId', 'ssDeptName', 'jdDeptId', 'jdDeptName']
})
storeSubShow.insert(0, new Ext.data.Record({
'empId' : '',
'chsName' : '',
'stationId' : '',
'stationName' : '',
'ssDeptId' : '',
'ssDeptName' : '',
'jdDeptId' : '',
'jdDeptName' : ''
}));