189 8069 5689

ExtJs中Store简介-创新互联

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站设计、北流网络推广、微信平台小程序开发、北流网络营销、北流企业策划、北流品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联公司为所有大学生创业者提供北流建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com>一.什么store?
Store类似于一个本地仓库(即数据存储器),包括有 ArrayStore,DirectStore,GroupingStore,JsonStore,XmlStore(都是store的子类)最终主要用于提供给panel去显示.Store由Proxy(数据源)和DataReader(解读数据)组成。
一.(Proxy)数据源:一般是后台的值,习惯性的把它转换成json对象给store(注:个人理解)
二.(DataReader)读取数据:获得了数据后需要解析数据,DataReader(fields属性其实是Record对象的)解析数据并指定格式.
三.store存储好的数据最后交给panel
二.store中重要的属性和方法
属性:data、proxy、reader、url、root ....

方法:load

1、如果配置了data,则proxy和url无效,且不需要调用load方法来生成Record集合
 var store=new Ext.data.ArrayStore({
   fields: ['DEPTNO', 'DNAME', 'LOC'],
   data:Ext.datas.mess//引用data.js 数据 });
2、如果没有配置data,则必须设置proxy或url,或两者都设置。此时,如果没有将autoLoad设置为true,
那么需要手动进行load方法的调用。就是为了得到数组、Json或Xml等格式的数据。
 1 //JsonStore是负责后台返回json对象的处理http:// 2   var store1 = new Ext.data.JsonStore({
 3         autoDestroy: true,
 4         url: 'extjsTest/extjs_getEmpByDeptNo.action',
 5         storeId: 'myStore',
 6         root:"emp",//json对象组 类似这种对象:{emp:[{EMPNO:'xx',....}]} 7         fields: [
 8             {name: 'EMPNO', mapping:'EMPNO', type: 'float'},
 9             {name: 'ENAME', mapping:'ENAME',type: 'string'}, 
10             {name : 'HIREDATE', type : 'date', mapping : 'HIREDATE'},
11             {name: 'DEPTNO', mapping:'DEPTNO', type: 'float'}
12         ]
13     });
3、reader是必须的,用以指定数据解析器,
需要根据获得的数据格式指定相应类型的解析器。(上面简写了,其实fidlds是由DataReader对象创建Record实例的一个属性)

4、如果没有指定proxy,但指定了url,则会默认用HttpProxy作为数据源,并将url作为HttpProxy实例化时的参数。
1 var myStore = new Ext.data.Store({
2     reader: myReader,
3     proxy : new Ext.data.HttpProxy({
4         method: "POST",
5         url: 'extjsTest/extjs_getEmpByDeptNo.action',
6     }) 
7 });
5、root是指定json组(个人这样理解的),算了,看json传过来的对象应该清楚了
{emp:[{"EMPNO":7369,"HIREDATE":"1980-12-17","ENAME":"SMITH"},{"EMPNO":7499,"HIREDATE":"1981-02-20","ENAME":"ALLEN"},{"EMPNO":7521,"HIREDATE":"1981-02-22","ENAME":"WARD"},{"EMPNO":7566,"HIREDATE":"1981-04-02","ENAME":"JONES"},{"EMPNO":7654,"HIREDATE":"1981-09-28","ENAME":"MARTIN"}]}
store.load() 代表加载数据store中的数据...(具体看api文档,武功秘籍下载地址:http://extjs.org.cn/download/)

6、EXT中所有和数据相关的类都放在Ext.data命名空间下:
* Store: 最主要的对外交互接口,内部保存了一个数据集。

JsonStore
JsonReader 把代理读取的数据读入数据集。

* Record: 数据集里面的每一条记录。

* DataField: 定义了记录每个字段的schema。

* DataProxy: 获取数据的代理。
ScriptTagProxy
HttpProxy,

* DataReader: 把代理读取的数据读入数据集。

本文整理自:http://blog.csdn.net/without0815/article/details/7798170

网页名称:ExtJs中Store简介-创新互联
转载注明:http://cdxtjz.cn/article/deipoc.html

其他资讯