欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    数据篇-ExtJs中的Record、Reader详解-1.ppt

    • 资源ID:2157053       资源大小:1.53MB        全文页数:23页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据篇-ExtJs中的Record、Reader详解-1.ppt

    北风网项目培训,数据篇(1)-ExtJs中的Record、Reader详解-1,讲师:风舞烟,ExtJs版国讯教育通用智能OA办公平台,目录,Ext.data简介 了解Record DataReader详解 JsonReader、ArrayReader、XmlReader,Ext.data简介 Ext.data在命名空间中定义了一系列store、reader和proxy。Grid和ComboxBox都是以Ext.data为媒介获取数据的,它包含异步加载、类型转换、分页等功能。Ext.data默认支持Array、JSON、XML等数据格式,可以通过Memory、HTTP、ScriptTag等方式获得这些格式的数据。如果要实现新的协议和新的数据结构,只需要扩展reader和proxy即可.,数据处理 数据处理是客户端的数据统一操作的接口。不管是从服务器返回的数据还是客户端自行生成的数据。都可以通过该接口来统一操作。这样就为组件的数据操作提供了极大的方便。 Ext的data处理分成三部分,store是统一对组件或开发的接口,它的数据是通过proxy从服务器端(包含跨域)或本地的客户浏览器中获取原始数据。从原始数据到store的统一格式的中间还有一步,那就是对于不同的形式的原始数据(xml,json等)进行去解析。Reader就是完成解析功能。 通过代理,分析,储存三步,呈现给开发者的数据就如数据库储存的二维表的结构数据一样。有着排序,统计、查询,更新的功能。完全可以把store看成一个客户端的临时数据库。这就是组件对数据的操作提供巨大的方便,类Ext.data.Record 包: Ext.data 定义的文件: Record.js 类全称: Ext.data.Record 继承自于: Object Record类不但封装了Record的相关定义信息,还封装了Ext.data.Store里面所使用的Recrod对象的值信息, 并且方便任何透过Ext.data.Store来访问Records缓存之信息的代码,类Ext.data.DataReader 包: Ext.data 定义的文件: DataReader.js 类全称: Ext.data.DataReader 继承自于: Object 用于读取结构化数据(来自数据源)然后转换为Ext.data.Record对象集合和元数据Ext.data.Store这二者合成的对象。这个类应用于被扩展而最好不要直接使用。 从DataReader派生下来的有:ArrayReader|JsonReader|XmlReader,类Ext.data.Store 包: Ext.data 定义的文件: Store.js 类全称: Ext.data.Store 继承自于: Ext.util.Observable Store类封装了一个客户端的Record对象的缓存, 为诸如GridPanel、ComboBox和DataView等的小部件提供了数据的入口。 Store对象使用一个DataProxy的实现来访问数据对象,该Proxy对象在configured定义。不过你可以调用loadData直接地把数据对象传入你的数据。 在DataReader实现的帮助下,从该类提供的数据对象来创建Record实例。你可在configured指定这个DataReader对象。这些records都被缓存的并且通过访问器函数可利用到。 Store下的子类有: JsonStore、ArrayStore、XmlStore,了解Record 首先需要明确是,ExtJS中有一个名为Record的类,表格等控件中使用的数据是存放在Record对象中,一个Record可以理解为关系数据表中的一行,也可以称为记录。Record对象中即包含了记录(行中各列)的定义信息(也就是该记录包含哪些字段,每一个字段的数据类型等),同时又包含了记录具体的数据信息(也就是各个字段的值)。,我们来看直接使用Record的代码:,DataReader详解 DataReader表示数据读取器,也就是数据解析器,其负责把从服务器或者内存数组、xml文档中获得的杂乱信息转换成ExtJS中的记录集Record数据对象,并存储到Store里面的记录集数组中。 数据解析器的基类由Ext.data.DataReader定义,其它具体的数据解析器都是该类的子类,ExtJS中提供了读取二维数组、JSon数据及Xml文档的三种数据解析器,分别用于把内存中的二级数组、JSON格式的数据及XML文档信息解析成记录集。,1)ArrayReader Ext.data.ArrayReader数组解析器,用于读取二维数组中的信息,并转换成记录集Record对象。首先看下面的代码: var MyRecord = Ext.data.Record.create( name: 'title', mapping:1, name: 'username', mapping:2, name: 'loginTimes', mapping:3,type:int ); var myReader = new Ext.data.ArrayReader( id: 0 , MyRecord);,这里定义的myReader可以读取下面的二维数组: 1, '测试', '小王',3, 2, '新年好', 'williamraym',13 2)JsonReader Ext.data.JsonReaderJson数据解析器,用于读取JSON格式的数据信息,并转换成记录集Record对象。看下面使用JsonReader的代码 var MyRecord = Ext.data.Record.create( name: 'title', name: 'username', mapping: 'author', name: 'loginTimes', type: 'int' ); var myReader = new Ext.data.JsonReader ( totalProperty: “results“, root: “rows“, id: “id“ , MyRecord );,这里的JsonReader可以解析下面的JSON数据: 'results': 2, 'rows': id: 1, title: '测试', author: '小王', loginTimes: 3 , id: 2, title: 'Ben', author: 'williamraym', loginTimes:13 JSonReader还有比较特殊的用法,就是可以把Store中记录集的配置信息存放直接保存在从服务器端返回的JSON数据中,比如下面的例子: var myReader = new Ext.data.JsonReader();,这一个不带任何参数的myReader,可以处理从服务器端返回的下面JSON数据: 'metaData': totalProperty: 'results', root: 'rows', id: 'id', fields: name: 'title', name: 'username', mapping: 'author', name: 'loginTimes', type: 'int' , 'results': 2, 'rows': id: 1, title: '测试', author: '小王', loginTimes: 3 , id: 2, title: '新年好', author: 'williamraym', loginTimes:13 ,3)XmlReader Ext.data.XmlReaderXML文档数据解析器,用于把XML文档数据转换成记录集Record对象。看下面的代码: var MyRecord = Ext.data.Record.create( name: 'title', name: 'username', mapping: 'author', name: 'loginTimes', type: 'int' ); var myReader = new Ext.data.XmlReader( totalRecords: “results“, record: “rows“, id: “id“ , MyRecord);,上面的myReader能够解析下面的xml文档信息: 2 1 测试 小王 3 2 新年好 williamraym 13 ,再如如下 xml: 001 001001 合肥 巢湖 芜湖 , 002 002001 aaa bbb ccc ,例如: var store1 = new Ext.data.Store( url: 'city.xml', reader: new Ext.data.XmlReader( record: 'country' , name: 'country', mapping: 'cid') ); store1.on(“load“, function(_store) /alert(_store.getCount(); /alert(_store.getAt(1).get(“country“); /alert(Ext.util.JSON.encode(_store.getAt(1).data); var data = ; _store.each(function(item) data.push(Ext.util.JSON.encode(item.data); ); alert(data); ); store1.load(); /加载所有国家,var store2 = new Ext.data.Store( url: “city.xml“, reader: new Ext.data.XmlReader( record: 'countryname=China province' , name: 'p', mapping: 'pid') ); store2.on(“load“, function(_store) /alert(_store.getCount(); /alert(_store.getAt(1).get(“country“); _store.each(function(item) alert(Ext.util.JSON.encode(item.data); ); ); store2.load(); /加载省份,var store3 = new Ext.data.Store( url: “city.xml“, reader: new Ext.data.XmlReader( record: 'countryname=China provincename=“安徽“ city' , name: 'cityname') ); store3.on(“load“, function(_store) /alert(_store.getCount(); /alert(_store.getAt(1).get(“country“); var data = ; _store.each(function(item) data.push(Ext.util.JSON.encode(item.data); ); alert(data); ); store3.load(); /加载城市,总结,Ext.data简介 了解Record DataReader详解 JsonReader、ArrayReader、XmlReader,本课程版权归北风网所有,欢迎访问我们的官方网站 www.ibeifeng.com,

    注意事项

    本文(数据篇-ExtJs中的Record、Reader详解-1.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开