Ext.data.Store

引自EXTJS-API文档

Class Ext.data.Store

包:Ext.data
定义类的文件:Store.js
类:Store
子类: ArrayStore, DirectStore, GroupingStore, JsonStore, XmlStore
继承自:Observable

Store类包装了一个对 Record 对象的客户端缓存,它为Component提供输入数据,例如 GridPanel、 ComboBox 或者 DataView。

获取数据

Store对象可以使用如下方式访问一条数据:

  • DataProxy 的 可配置实现
  • 将会自动传入数据的 data
  • loadData 手动传入数据

读取数据

Store内部并不知道数据对象的格式 (它可能是一个Array, XML或者JSON)。 Store对象使用一个 DataReader 类的 可配置实现 从数据对象创建 Record 的实例。

Store的类型

Store存在多种实现, 它们可以定制成与指定的DataReader实现类配合使用。 这里有一个使用ArrayStore的例子,它隐含创建 一个与Array数据对象相应的reader。


var myStore = new Ext.data.ArrayStore({
    fields: ['fullname', 'first'],
    idIndex: 0 // 每条记录的id将会是第一个元素
});
		

对于特定的实现, 可以创建一个基本的Ext.data.Store ,然后配制成需要的形式:


// 创建一个Record 构造器:
var rt = Ext.data.Record.create([
    {name: 'fullname'},
    {name: 'first'}
]);
var myStore = new Ext.data.Store({
    // 隐含创建reader
    reader: new Ext.data.ArrayReader(
        {
            idIndex: 0  // 每条记录的id将会是第一个元素
        },
        rt // 记录的类型
    )
});
		

向store中加载一些数据 (注意,数据对象是与reader对应的数组):

			
var myData = [
    [1, 'Fred Flintstone', 'Fred'],  //注意记录的id将会是第一个元素
    [2, 'Barney Rubble', 'Barney']
];
myStore.loadData(myData);
		

记录被缓存并可以通过存取器(译者注:指getter/setter)访问。 一个向store中添加记录的例子:


var defaultData = {
    fullname: 'Full Name',
    first: 'First Name'
};
var recId = 100; // 记录提供一个唯一的id
var r = new myStore.recordType(defaultData, ++recId); // 创建 记录
myStore.insert(0, r); // 向store中插入一条 记录(另请参见 add)
			
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值