`
atgoingguoat
  • 浏览: 195868 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

ExtJS 之 Store数据集

    博客分类:
  • js
阅读更多
1. Ext.data.Store
Ext.onReady(function(){
                   //定义Json格式的内存数据变量
                   var data = {
                            results : 5,
                            rows : [
                                     { id : 0 , name : 'tom' , age : 24 },
                                     { id : 1 , name : 'jack' , age : 18 }
                            ]
                   };
                   //创建记录类型Person
                   var Person = Ext.data.Record.create([
                            {name: 'personId',mapping:'id'},
                            {name: 'personName',mapping:'name'},
                            {name: 'personAge',mapping:'age'}
 
                   ]);
                   //定义JsonReader的元数据对象
                   metedata = {
                            totalProperty: "results",
                            root: "rows",
                            id: "id"
                   }
                   //创建JsonReader数据解析器
                   var JsonReader = new Ext.data.JsonReader(metedata,Person);
                   //创建内存代理
                   var memoryProxy = new Ext.data.MemoryProxy()
                   //创建数据集对象
                   var store = new Ext.data.Store({
                            proxy : memoryProxy,//设置数据集加载数据的代理对象
                            reader : JsonReader,//设置数据集解析数据的数据解析器
                            listeners :{
                                     load : loadCallBack
                            }
                   })
                   //定义数据加载完成事件的处理函数
                   function loadCallBack(store,records,options ) {
                            var msg = '数据集Store使用示例\n';
                            //遍历数据集中的所有记录
                            store.each(function(record){
                                     var id = record.get('personId');
                                     var name = record.get('personName');
                                     var age = record.get('personAge');
                                     msg += ('id:' + id + ' name:'+name+' age:'+age +'\n');
                            })
                            alert(msg);
                   }
                   //加载数据
                   store.loadData(data);
         });
2. Ext.data.SimpleStore
Ext.onReady(function(){
                   //定义数组数据
                   var data = [[1,'张三',24],[2,'李四',30],[3,'王五',29]];
                   //创建数据集对象
                   var simpleStore = new Ext.data.SimpleStore({
                            id : 0,
                            fields : [
                                     {name: 'personId',mapping:0},
                                     {name: 'personName',mapping:1},
                                     {name: 'personAge',mapping:2}
 
                            ],
                            listeners :{
                                     load : loadCallBack
                            }
                   })
                   //定义数据加载完成事件的处理函数
                   function loadCallBack(store,records,options ) {
                            var msg = '数据集SimpleStore使用示例\n';
                            //遍历数据集中的所有记录
                            store.each(function(record){
                                     var id = record.get('personId');
                                     var name = record.get('personName');
                                     var age = record.get('personAge');
                                     msg += ('id:' + id + ' name:'+name+' age:'+age +'\n');
                            })
                            alert(msg);
                   }
                   //加载数据
                   simpleStore.loadData(data);
         });
3. Ext.data.JsonStore
         Ext.onReady(function(){
                   //定义Json数据对象
                   var data = {
                            rows : [
                                     { id : 0 , name : 'tom' , age : 24 },
                                     { id : 1 , name : 'jack' , age : 18 }
                            ]
                   };
                   //创建数据集对象
                   var jsonStore = new Ext.data.JsonStore({
                            root: "rows",
                            data : data,//配置要加载的初始化数据
                            fields : [
                                     {name: 'personId',mapping:'id'},
                                     {name: 'personName',mapping:'name'},
                                     {name: 'personAge',mapping:'age'}
 
                            ],
                            listeners :{
                                     load : loadCallBack
                            },
                            autoLoad:true//初始化后自动加载数据
                   })
                   //定义数据加载完成事件的处理函数
                   function loadCallBack(store,records,options ) {
                            var msg = '数据集JsonStore使用示例\n';
                            //遍历数据集中的所有记录
                            store.each(function(record){
                                     var id = record.get('personId');
                                     var name = record.get('personName');
                                     var age = record.get('personAge');
                                     msg += ('id:' + id + ' name:'+name+' age:'+age +'\n');
                            })
                            alert(msg);
                   }
         });
4. Ext.data.GroupingStore
         Ext.onReady(function(){
                   //定义数组数据对象
                   var data = [[1,'张三',24],[2,'李四',30],[3,'王五',30],[4,'赵六',24]];
                   //定义记录类型
                   var Person = Ext.data.Record.create([
                            {name: 'id',mapping:0},
                            {name: 'name',mapping:1},
                            {name: 'age',mapping:2}
                   ]);
                   //创建数据解析器
                   var arrayReader = new Ext.data.ArrayReader({id:0},Person);
                   //创建内存代理
                   var memoryProxy = new Ext.data.MemoryProxy()
                   //创建GroupingStore数据集对象
                   var groupingStore = new Ext.data.GroupingStore({
                            autoLoad : true,
                            data : data,
                            groupField:'age',//指定分组字段
                            groupOnSort:false,//分组时不重新排序
                            sortInfo:{field: 'id', direction: "ASC"},//指定排序规则
                            proxy : memoryProxy,
                            reader : arrayReader
                   })
                   //创建表格组件
                   new Ext.grid.GridPanel({
                            title : '分组数据集',
                            applyTo : 'group-grid',
                            store : groupingStore,
                            width : 310,
                            height : 200,
                            columns :[
                                     {header:'ID',dataIndex:'id'},
                                     {header:'姓名',dataIndex:'name'},
                                     {header:'年龄',dataIndex:'age'}
                            ],
                            view: new Ext.grid.GroupingView({
                                     forceFit:true
                            })
                   })
         });
分享到:
评论
3 楼 atgoingguoat 2011-03-22  
我只是为中国源代码开放走了一小步。哈哈。
2 楼 uuu999ggg 2011-03-22  
同是store ,store这样写,JsonStore确要那样写才行 。。。哎
1 楼 uuu999ggg 2011-03-22  
伟大的博主 解决了我一个大问题 谢谢了

   var store = new Ext.data.Store({})

  我用的是 var store = new Ext.data.JsonStore({})就不行  整了我一上午

相关推荐

    EXTJS4.0视频教程配套代码

    [06]EXTJS4.0的数据集store.wmv (73.45M) 第七讲:extjs4.0的事件机制Event [07]EXTJS4.0的事件机制Event.001.zip (70.00M)[07]EXTJS4.0的事件机制Event.003.zip [07]EXTJS4.0的事件机制Event.002.zip 第八...

    php+extjs+grid实时显示更新数据

    在实时数据展示中,我们需要利用EXTJS的Store和AjaxProxy来实现数据的实时更新。Store是EXTJS用来存储数据的容器,而AjaxProxy则负责与服务器进行异步通信。 创建一个EXTJS的Grid实例时,需要配置Store的proxy属性...

    ExtJS 使用grid显示数据

    2. **数据存储(Store)**:管理数据集,它可以是本地数据或远程数据,如`Ext.data.Store`,配置数据源、proxy(代理)用于与服务器通信,例如JSONP或Ajax。 3. **列模型(Column Model)**:定义Grid的列布局,`...

    extjsDemo(store grid form mvc模式等一些demo)

    在ExtJS中,Store是用来管理数据集的,它可以是从服务器获取的JSON或XML数据,也可以是本地数据。Store负责加载、缓存和处理数据,并与视图(View)如表格进行双向绑定,当数据发生变化时,视图会自动更新。在"ext...

    经验总结-Extjs(一)数据交互设计

    1. **Store**: Store是ExtJS中存储数据的核心组件,它可以管理数据集,包括加载、更新和同步到服务器。 2. **Model**: Model定义了数据的结构和字段,与Store配合使用,提供了数据操作的规范。 3. **Proxy**: ...

    ExtJs数据删除和清空封装

    使用上述封装好的函数,当需要删除单个记录或清空整个数据集时,只需调用相应的函数即可。这种封装不仅提高了效率,也符合编程的最佳实践。 在实际项目中,你可能还需要考虑错误处理、事务管理和用户反馈等其他因素...

    Extjs4 关于Store的一些操作(加载/回调/添加)

    在EXTJS4中,Store是数据管理的核心组件,它负责管理数据集,包括加载、更新和缓存数据。本文将详细讲解如何处理Store的加载、回调以及如何在两个Store之间添加符合条件的记录。 1. **加载与回调问题** EXTJS4的...

    extjs4中文视频下载地址

    #### 六、ExtJS 4.0 的数据集——Store - **Store 功能**:Store 是 ExtJS 4.0 中管理数据的核心组件。它可以存储多个 Model 实例,并提供了各种方法来检索、排序和过滤数据。 - **数据加载**:学习如何使用 Proxy ...

    EXTJS4.0视频教程 30集 下载地址

    - **Store**:用于存储数据,可以绑定到视图组件上。 - **Model**:定义数据结构,包括字段名、类型等信息。 - **Proxy**:负责数据的读取和写入操作,支持Ajax、本地存储等多种方式。 **2.4 事件处理** - **事件...

    基于ExtJS技术实现的DataGrid 动态数据绑定检索例子程序代码

    `demo.data.php`会根据接收到的参数来调整查询,然后返回新的数据集。前端的Store接收到这些数据后,会自动更新DataGrid的显示,无需用户手动刷新页面。 此外,DataGrid还支持分页、排序和过滤等功能,这些都是通过...

    ExtJs学习资料22-从服务器获取JSON数据并分页处理.doc

    2. `totalProperty`:用于获取数据集总记录数的属性名,对于分页至关重要。 3. `successProperty`:指示服务器响应是否成功的属性名。 4. `root`:包含数据行数组的属性名。 5. `fields`:定义了数据字段及其类型,...

    ExtJS深入浅出介绍之数据存储于传输

    1. **Store(数据存储)**:在ExtJS中,Store是数据的核心管理器,用于存储和管理数据集。它可以连接到各种数据源,如JSONP、XML、CSV等,或者通过Ajax请求从服务器获取数据。Store可以加载数据、同步更改、排序、...

    Extjs教程源码

    第六讲: EXTJS4.0的数据集Store 第七讲: EXTJS4.0的事件机制Event 第八讲: EXTJS4.0的Ajax 第九讲: EXTJS4.0的Core包和Ext类 第十讲: EXTJS4.0的Util包 ***************第二部分高级组件**************** 第十一讲:...

    extjs相关教程合集

    通过这本教程,你可以学习到EXTJS 2.0的新特性,理解如何使用Store、Model和Proxy进行数据管理,以及如何使用Layouts来布局复杂的用户界面。 然后,《extjs实用开发指南》是针对EXTJS的实际开发编写的一本实战型...

    免费 Extjs4.0教程视频

    #### 第六讲:Extjs 4.0的数据集—Store - **数据集(Store)**: - Store是Extjs中用于存储和管理数据集合的对象。 - 如何创建和配置Store,以及如何与Model和Proxy协同工作。 - **具体实例**: - 使用Store加载和...

    extjs入门之helloword

    ExtJS提供了丰富的工具集,包括用于布局管理、数据绑定、图表、表单等的组件。这些工具帮助开发者快速构建复杂的用户界面。例如,使用`Ext.MessageBox`可以弹出对话框,`Ext.grid.Panel`可以创建数据网格,`Ext.data...

    深入浅析Extjs中store分组功能的使用方法

    在创建Store实例时,必须指定数据模型和数据集,而`groupField`属性则根据这个数据模型中的字段名称来指定。 ```javascript var PersonStore = Ext.create('Ext.data.Store', { storeId: 'PersonStore', model: '...

    extjs动态表格实例(封装GRID,从STRUTS2读取后台数据 )

    2. **配置Store**:设置Store的数据源为远程数据,通常使用Ajax proxy,指定URL为Struts2的Action,以及数据的JSON格式。 3. **Struts2 Action配置**:在后台,创建一个Struts2 Action,处理来自前端的请求,执行...

    EXTjs4.2中文版

    它引入了数据存储(Store)和代理(Proxy)的概念,数据存储负责管理数据集,而代理则负责与服务器进行数据交换。EXTjs支持RESTful API,XML,JSON等多种数据格式,方便与各种后端服务集成。 EXTjs4.2中的图表组件...

    EXTJS2 API

    4. **Store和Model**:Store是EXTJS2的数据存储对象,用于管理数据集。Model定义了数据结构和字段,与Store配合使用,可以方便地进行数据操作和CRUD(Create, Read, Update, Delete)操作。 5. **数据代理(Data ...

Global site tag (gtag.js) - Google Analytics