store可以理解为数据存储器,理解为客户端的小型数据表,提供缓存的功能。在ExtJS中,GridPannel、ComboBox、DataView等控件一般直接与Store打交道。直接通过store来获取控件中需要展现的数据。一个store可以包含多个record,同时store又包含了数据来源,数据解析器等相关信息,store通过调用具体的数据解析器
(DataReader)来解析指定类型或格式数据(DataProxy),并转换成记录集的形式保存在Store中,控制数据的输入。
数据存储器由Ext.data.Store类定义,一个完整的数据存储器有数据源DataProxy及数据解析方式DataReader。
在Ext.data.Store类中数据源由proxy配置属性定义、数据解析(读取)器由reader配置属性定义:
var MyRecord=Ext.data.Record.create([
{name:"title"},
{name:"username",mapping:"author"},
{name:"loginTimes",type:"int"},
{name:"lastLoginTime",mapping:"loginTime",type:"date"}
]);
var dataProxy=new Ext.data.HttpProxy({url:"link.ejf"});
var theReader=new Ext.data.JosnReader({
totalProperty:"results",
root:"rows",
id:"id"},MyRecord);
var store=new Ext.data.Store({
url:"link.ejf",
proxy:dataProxy,
reader:theReader
});
store.load();
直接使用SimpleStore:
var store=new Ext.data.JosnStore({
url:"link.ejf?cmd=list",
totalProperty:"results",
root:"rows",
fields:["title",{name:"username",mapping:"author"},
{name:"loginTimes",type:"int"},
{name:"lastLoginTime",mapping:"loginTime",type:"date"}
]
});
store.load();