`

Ext.data.Store

 
阅读更多

引自EXTJS-API文档

Class Ext.data.Store

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

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

获取数据

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

读取数据

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)
			
分享到:
评论

相关推荐

    Ext.data.Store的基本用法

    在创建完`Ext.data.Store`实例后,执行`store.load()`方法会触发数据转换的过程。`MemoryProxy`从内存中读取原始数据,`ArrayReader`则负责将这些数据转换为`PersonRecord`实例,最后这些实例会被存储在`store`中。...

    Ext3.2的Ext.data.Store类和Ext.Ajax类的实际运用

    环境:Window XP Sp2、Tomcat 6.0、...关于Ext.data.Store类,我们可以看出:该框架提供了客户端缓存的功能--这对于我们框架系统是非常有帮助的。本示例代码注释非常详细。 阅读对象:需要使用Ext框架进行Web开发的人员

    Ext.data.Store 读取XML属性值

    在处理数据时,`Ext.data.Store`是一个至关重要的组件,它用于存储和管理数据,可以与各种数据源进行交互。当我们需要从XML文档中提取数据并加载到`Store`时,就涉及到`Ext.data.reader.Xml`。这篇博客文章《Ext....

    Extjs 继承Ext.data.Store不起作用原因分析及解决

    关于这个原因有很多种,我只说下我遇到的 我这样 写Store来复用的 代码如下: DocStore = Ext.extend(Ext.data.Store,{ initComponent:function(){ this.proxy = new Ext.data.HttpProxy({url:this.url}); this....

    Ext.Store的获取方法

    store.load(); ``` 然后通过`store`变量来访问和操作Store。但在使用`extend`进行类继承时,可能会将Store的定义放在一个新的组件内,例如一个ComboBox: ```javascript Leangle.form.combo.ColorComboBox = Ext....

    Ext.DataView 图片列表显示

    this.store.reload(); }; var dataview = new Ext.DataView({ store: store, tpl : tpl, id: 'phones', itemSelector: 'li.phone', overClass : 'phone-hover', singleSelect: true, multiSelect : ...

    Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)

    代码如下: var Store = Ext.create(‘Ext.data.Store’, { pageSize: pageSize, model: ‘Ext.data.Model名称’, autoLoad: false, proxy: { type: ‘ajax’, url: ‘请求路径’, getMethod: function(){ return ...

    extjs中Ext.Panel和TreePanel 组件动态加载本地页面数据

    store: Ext.create('Ext.data.Store', { fields: ['name', 'value'], proxy: { type: 'ajax', url: 'data.json', // 本地数据文件路径 reader: { type: 'json', rootProperty: 'items' } }, autoLoad: ...

    Ext.data专题

    它定义了一系列的核心概念,包括 **Store**、**Reader** 和 **Proxy**,这些都是Ext.data的核心组成部分。通过这些概念,开发者能够轻松地管理应用程序中的数据流。 - **Store**:负责存储数据并提供一系列API来...

    EXT核心API详解

    35、Ext.data.Store类 …………………… 28 36、Ext.data.GroupingStore类 ………… 32 37、Ext.data.SimpleStore类 ………… 34 38、Ext.data.Tree类 …………………… 34 39、Ext.data.Node类 ………………… 34 ...

    可编辑表格Ext.grid.EditorGridPanel

    var store = new Ext.data.Store({ // ... }); // 定义列模型 var cm = new Ext.grid.ColumnModel([ {header: 'Name', width: 200, dataIndex: 'name', editor: new Ext.form.TextField()}, {header: 'Age', ...

    ext-tree.rar_ext_ext tr_ext tre_ext.tr_ext.tree

    3. **数据存储**:创建一个数据存储(Ext.data.Store),并配置其URL以连接到后端服务,用于获取或更新数据。 4. **右键菜单**:实现右键菜单(Ext.menu.Menu),定义菜单项,绑定点击事件处理函数。 5. **事件...

    Ext.grid.GridPanel属性祥解

    5. **reconfigure(Ext.data.Store store, Ext.grid.ColumnModel colModel)** - 说明:使用新的数据集和列模型重新配置表格。 - 示例:`reconfigure(new Ext.data.JsonStore(...), new Ext.grid.ColumnModel([...])...

    ext 基本知识-store-proxy-reader-ext-connection-实例

    总结起来,本篇内容涵盖了ExtJS中的核心数据组件,包括Ext.data.Connection的使用、Ext.data.Record的创建与操作、Ext.data.Store的配置以及数据交互的Proxy和Reader机制。这些知识是构建基于ExtJS的异步数据驱动...

    extjs帮助文档

    - `Ext.data.Store.remove(record)`:移除记录。 #### 三十六、Ext.data.GroupingStore类(第32页) - **概述**:Ext.data.GroupingStore类实现了分组数据存储。 - **常用方法**: - `new Ext.data.GroupingStore...

    extJs 2.1学习笔记

    6. Ext.data.Store篇 10 7. Ext.data.JsonReader篇一 12 8. Ext.data.JsonReader篇二 15 9. Ext.data.HttpProxy篇 19 10. Ext.data.Connection篇一 20 11. Ext.data.Connection篇二 24 12. Ext.Updater篇一 26 13. ...

    ExtJS入门教程(超级详细)

    35、Ext.data.Store类 …………………… 28 36、Ext.data.GroupingStore类 ………… 32 37、Ext.data.SimpleStore类 ………… 34 38、Ext.data.Tree类 …………………… 34 39、Ext.data.Node类 ………………… 34 ...

    Ext4.0 动态修改ComboBox选择项(本地模式)

    调用`loadData`或`refresh`方法: ```javascript comboBox.getStore().load(); // 或 comboBox.refresh(); ``` 4. **监听事件**: 为了响应用户的选择变化,可以监听ComboBox的`select`事件: ```javascript...

Global site tag (gtag.js) - Google Analytics