Ext.data在命名空间中定义了一系列store、reader和proxy。Grid和ComboxBox都是以Ext.data为媒介获取数据的,它包含异步加载、类型转换、分页等功能。EXT默认支持Array、JSON、XML等数据格式,可以通过Memory、HTTP、ScriptTag等方式获得这些格式的数据。如果要实现新的协议和新的数据结构,只需要扩展reader和proxy即可。本章主要介绍EXT中的数据存储与传输。
一、Ext.data.Connection
Ext.data.Connection主要用于在Ext.data.HttpProxy和Ext.data.ScriptTagProxy中执行与后台交互的任务,它会从指定的URL获得数据,并把后台返回的数据交给HttpProxy或ScriptTagProxy处理,Ext.data.Connection的使用方式如下面所示:
(1) 首先创建一个新的Ext.data.Connection实例。
- varconn=newExt.data.Connection({
- autoAbort:false,
- defaultHeaders:{
- referer:'http://www.sina.com.cn'
- },
- disableCaching:false,
- extraParams:{
- name:'name'
- },
- method:'GET',
- timeout:300,
- url:'01-01.txt'
- });
(2) 在创建conn之后,可以调用request()函数发送请求,处理返回的结果。
- conn.request({
- success:function(response){
- Ext.Msg.alert('info',response.responseText);
- },
- failure:function(){
- Ext.Msg.alert('warn','failure');
- }
- });
(3) Ext.data.Connection还提供了abort([Number transactionId])函数,当同时有多个请求发生时,根据指定的事务id放弃其中的某一个请求,如果不指定id,则会放弃最后一个请求。
二、Ext.data.Record
Ext.data.Record就是一个设定了内部数据类型的对象,它是Ext.data.Store的最基本组成部分。Ext.data.Record的主要功能是保存数据,并且在内部数据发生改变时记录修改的状态,它还可以保留修改之前的原始值。
(1) 我们使用Ext.data.Record时,通常都是由create()函数开始,首先用create()函数创建一个自定义的Recore类型,如下所示:
- varPersonRecord=Ext.data.Record.create([
- {name:'name',type:'string'},
- {name:'sex',type:'int'}
- ]);
(2) PersonRecord就是我们定义的新类型,然后我们使用new关键字创建PersonRecord的实例:
- varboy=newPersonRecord({
- name:'boy',
- sex:0
- });
(3) 现在,我们得到了PersonRecord的实例boy,如何得到它的属性值?以下有三种方法:
- alert(boy.data.name);
- alert(boy.data['name']);
- alert(boy.get['name']);
三、Ext.data.Store
Ext.data.Store是EXT中用来进行数据交换和数据交互的标准中间件,无论是Grid还是ComBox,都是通过它实现数据读取、类型转换、排序分列和搜索等操作。Ext.data.Store中有一个Ext.data.Record数组,所有数据都存放在这些Ext.data.Record实例中,为后面的读取和修改操作做准备。
(1) 在使用之前,首先要创建一个Ext.data.Store的实例,如下面代码:
- vardata=[
- ['boy',0],
- ['girl',1]
- ];
- varstore=newExt.data.Store({
- proxy:newExt.data.MemoryProxy(data),
- reader:newExt.data.ArrayReader({},PersonRecord)
- });
- store.load();
(2) 每个store最少需要两个组件的支持,分别是proxy和reader,proxy是用于从某个途径读取原始数据,reader用于将原始数据转换成Record实例。
四、小结
本章主要详细介绍了Ext.data.Record和Ext.data.Store的功能和基本使用方法,这两个类结合起来形成了Ext.data中的主体数据模型,很多组件都是建立在它们之上的,至于其他的常用的proxy,reader,store:SimpleStore和JsonStore则在后面学习中给出详细介绍。
Ext.data在命名空间中定义了一系列store、reader和proxy。Grid和ComboxBox都是以Ext.data为媒介获取数据的,它包含异步加载、类型转换、分页等功能。EXT默认支持Array、JSON、XML等数据格式,可以通过Memory、HTTP、ScriptTag等方式获得这些格式的数据。如果要实现新的协议和新的数据结构,只需要扩展reader和proxy即可。本章主要介绍EXT中的数据存储与传输。
一、Ext.data.Connection
Ext.data.Connection主要用于在Ext.data.HttpProxy和Ext.data.ScriptTagProxy中执行与后台交互的任务,它会从指定的URL获得数据,并把后台返回的数据交给HttpProxy或ScriptTagProxy处理,Ext.data.Connection的使用方式如下面所示:
(1) 首先创建一个新的Ext.data.Connection实例。
- varconn=newExt.data.Connection({
- autoAbort:false,
- defaultHeaders:{
- referer:'http://www.sina.com.cn'
- },
- disableCaching:false,
- extraParams:{
- name:'name'
- },
- method:'GET',
- timeout:300,
- url:'01-01.txt'
- });
(2) 在创建conn之后,可以调用request()函数发送请求,处理返回的结果。
- conn.request({
- success:function(response){
- Ext.Msg.alert('info',response.responseText);
- },
- failure:function(){
- Ext.Msg.alert('warn','failure');
- }
- });
(3) Ext.data.Connection还提供了abort([Number transactionId])函数,当同时有多个请求发生时,根据指定的事务id放弃其中的某一个请求,如果不指定id,则会放弃最后一个请求。
二、Ext.data.Record
Ext.data.Record就是一个设定了内部数据类型的对象,它是Ext.data.Store的最基本组成部分。Ext.data.Record的主要功能是保存数据,并且在内部数据发生改变时记录修改的状态,它还可以保留修改之前的原始值。
(1) 我们使用Ext.data.Record时,通常都是由create()函数开始,首先用create()函数创建一个自定义的Recore类型,如下所示:
- varPersonRecord=Ext.data.Record.create([
- {name:'name',type:'string'},
- {name:'sex',type:'int'}
- ]);
(2) PersonRecord就是我们定义的新类型,然后我们使用new关键字创建PersonRecord的实例:
- varboy=newPersonRecord({
- name:'boy',
- sex:0
- });
(3) 现在,我们得到了PersonRecord的实例boy,如何得到它的属性值?以下有三种方法:
- alert(boy.data.name);
- alert(boy.data['name']);
- alert(boy.get['name']);
三、Ext.data.Store
Ext.data.Store是EXT中用来进行数据交换和数据交互的标准中间件,无论是Grid还是ComBox,都是通过它实现数据读取、类型转换、排序分列和搜索等操作。Ext.data.Store中有一个Ext.data.Record数组,所有数据都存放在这些Ext.data.Record实例中,为后面的读取和修改操作做准备。
(1) 在使用之前,首先要创建一个Ext.data.Store的实例,如下面代码:
- vardata=[
- ['boy',0],
- ['girl',1]
- ];
- varstore=newExt.data.Store({
- proxy:newExt.data.MemoryProxy(data),
- reader:newExt.data.ArrayReader({},PersonRecord)
- });
- store.load();
(2) 每个store最少需要两个组件的支持,分别是proxy和reader,proxy是用于从某个途径读取原始数据,reader用于将原始数据转换成Record实例。
四、小结
本章主要详细介绍了Ext.data.Record和Ext.data.Store的功能和基本使用方法,这两个类结合起来形成了Ext.data中的主体数据模型,很多组件都是建立在它们之上的,至于其他的常用的proxy,reader,store:SimpleStore和JsonStore则在后面学习中给出详细介绍。
分享到:
相关推荐
EXTJS4自学手册——EXT数据结构组件(Model数据验证,数据交互) EXTJS4自学手册——EXT数据结构组件 EXTJS4自学手册——EXT数据结构组件(proxy代理类之客户端代理) EXTJS4自学手册——EXT数据结构组件(proxy...
ExtJS4.0图文实例——数据组件介绍及简单应用
extjs数据存储与传输详解,为了方便大家学习ExtJs技术,特总结了ExtJs最常用的Store部分内容,供大家参考...
整理的 extjs数据存储与传输 资料文档。
Extjs数据的存储和传输以及相关的一些数据处理
extjs属性方法集中方便你查看学习,赶快来下载吧!学习extjs
Extjs+Gride使用方法 Extjs Gride
不错的Ext 介绍资料,讲解比较详细,分享一下!
深入浅出Ext_JS:数据存储与传输,学习ext 我在百度搜到的。
Extjs分页使用java实现数据库数据查询.docx
extjs读取解析后端json格式数据并显示条形图,非常好看的特效,只能用炫酷来形容,感兴趣就下载看看吧,用在自己的网站觉得吸引眼球!
好久没裸写(不用框架)过了,都不记得关闭数据连接的语句写在哪里了。 这个demo至少要你懂得一些extjs语法,否则,你会看着很费劲。 里面提供了需要的表结构和mysql驱动 如果你不会mysql的话可以修改程序
使用ExtJs获取后台json格式的数据必须的七个jar包,commons-beanuti-1s-1.7.0.jar,commons-collections-3.1.jar,commons-lang-2.5.jar,commons-logging-1.0.4.jar,ezmorph-1.0.4.jar,json-lib-2.1.jar,...
php+extjs+grid实时显示更新数据
Extjs4.0动态填充combobox数据 Extjs4中up()和down()的用法 ExtJS4学习笔记(一)---window的创建 ExtJS4学习笔记(七)---带搜索的Grid(SearchGrid) ExtJS4学习笔记(三)---VBox的使用 ExtJS4学习笔记(九)---ExtJS4 ...
第三讲: EXTJS4.0数据模型——Model 第四讲: EXTJS4.0的数据代理——Proxy 第五讲: EXTJS4.0的读写器Reader, Writer 第六讲: EXTJS4.0的数据集Store 第七讲: EXTJS4.0的事件机制Event 第八讲: EXTJS4.0的Ajax 第九讲...
ASP.NET的EXTJS数据导出到EXCEL,数据表格里的列可自选的,可隐藏不想导出的列。中文不会有乱码问题!EXT SDK打包在程序里面,稍微有点大。
NULL 博文链接:https://swordboy007.iteye.com/blog/1722145
配置和表格控件使用 表单与输入控件 树形结构 拖放以及弹出窗口
SpringMVC+ExtJS完美集成(数据传输方式为JSON和model),同时还支持controller页面配置、页面消息可配置(类似于国际化)、intercepter示例。