版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据篇-ExtJs中的Record、Reader详解数据篇数据篇(1)-ExtJs中的中的Record、Reader详解详解-1讲师:风舞烟ExtJs版版国讯教育通用智能国讯教育通用智能OA办公平台办公平台数据篇-ExtJs中的Record、Reader详解Ext.data简介简介 了解了解RecordDataReader详解JsonReader、ArrayReader、XmlReader数据篇-ExtJs中的Record、Reader详解Ext.data简介 Ext.data在命名空间中定义了一系列在命名空间中定义了一系列store、reader和和proxy。Grid和和ComboxBox
2、都是以都是以Ext.data为媒为媒介获取数据的,它包含异步加载、类型转换、分页介获取数据的,它包含异步加载、类型转换、分页等功能。等功能。Ext.data默认支持默认支持Array、JSON、XML等等数据格式,可以通过数据格式,可以通过Memory、HTTP、ScriptTag等方式获得这些格式的数据。如果要实现新的协议等方式获得这些格式的数据。如果要实现新的协议和新的数据结构,只需要扩展和新的数据结构,只需要扩展reader和和proxy即可即可.数据篇-ExtJs中的Record、Reader详解数据处理 数据处理是客户端的数据统一操作的接口。不管是从服务器返回的数据还是客户端自行生成
3、的数据。都可以通过该接口来统一操作。这样就为组件的数据操作提供了极大的方便。 Ext的data处理分成三部分,store是统一对组件或开发的接口,它的数据是通过proxy从服务器端(包含跨域)或本地的客户浏览器中获取原始数据。从原始数据到store的统一格式的中间还有一步,那就是对于不同的形式的原始数据(xml,json等)进行去解析。Reader就是完成解析功能。 通过代理,分析,储存三步,呈现给开发者的数据就如数据库储存的二维表的结构数据一样。有着排序,统计、查询,更新的功能。完全可以把store看成一个客户端的临时数据库。这就是组件对数据的操作提供巨大的方便数据篇-ExtJs中的Reco
4、rd、Reader详解类类Ext.data.Record 包: Ext.data 定义的文件: Record.js 类全称: Ext.data.Record 继承自于: Object Record类不但封装了Record的相关定义信息,还封装了Ext.data.Store里面所使用的Recrod对象的值信息, 并且方便任何透过Ext.data.Store来访问Records缓存之信息的代码 数据篇-ExtJs中的Record、Reader详解类类Ext.data.DataReader 包: Ext.data 定义的文件: DataReader.js 类全称: Ext.data.DataRead
5、er 继承自于: Object 用于读取结构化数据(来自数据源)然后转换为Ext.data.Record对象集合和元数据Ext.data.Store这二者合成的对象。这个类应用于被扩展而最好不要直接使用。 从DataReader派生下来的有:ArrayReader|JsonReader|XmlReader数据篇-ExtJs中的Record、Reader详解类类Ext.data.Store 包: Ext.data 定义的文件: Store.js 类全称: Ext.data.Store 继承自于: Ext.util.Observable Store类封装了一个客户端的Record对象的缓存, 为诸
6、如GridPanel、ComboBox和DataView等的小部件提供了数据的入口。 Store对象使用一个DataProxy的实现来访问数据对象,该Proxy对象在configured定义。不过你可以调用loadData直接地把数据对象传入你的数据。 在DataReader实现的帮助下,从该类提供的数据对象来创建Record实例。你可在configured指定这个DataReader对象。这些records都被缓存的并且通过访问器函数可利用到。 Store下的子类有: JsonStore、ArrayStore、XmlStore 数据篇-ExtJs中的Record、Reader详解了解Reco
7、rd 首先需要明确是,ExtJS中有一个名为Record的类,表格等控件中使用的数据是存放在Record对象中,一个Record可以理解为关系数据表中的一行,也可以称为记录。Record对象中即包含了记录(行中各列)的定义信息(也就是该记录包含哪些字段,每一个字段的数据类型等),同时又包含了记录具体的数据信息(也就是各个字段的值)。 数据篇-ExtJs中的Record、Reader详解我们来看直接使用Record的代码:数据篇-ExtJs中的Record、Reader详解DataReader详解 DataReader表示数据读取器,也就是数据解析器,其负责把从服务器或者内存数组、xml文档中获
8、得的杂乱信息转换成ExtJS中的记录集Record数据对象,并存储到Store里面的记录集数组中。数据解析器的基类由Ext.data.DataReader定义,其它具体的数据解析器都是该类的子类,ExtJS中提供了读取二维数组、JSon数据及Xml文档的三种数据解析器,分别用于把内存中的二级数组、JSON格式的数据及XML文档信息解析成记录集。 数据篇-ExtJs中的Record、Reader详解1)ArrayReaderExt.data.ArrayReader数组解析器,用于读取二维数组中的信息,并转换成记录集Record对象。首先看下面的代码:var MyRecord = Ext.data
9、.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); 数据篇-ExtJs中的Record、Reader详解这里定义的myReader可以读取下面的二维数组: 1, 测试, 小王,3, 2, 新年好, williamraym,13 2)JsonReaderExt.data.JsonReaderJson数据解析器,用于读取
10、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); 数据篇-ExtJs中的Record、Reader详解这里的JsonReader可以解
11、析下面的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(); 数据篇-ExtJs中的Record、Reader详解这一个不带任何参数的myReader,可以处理从服务器端返回的下
12、面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 数据篇-ExtJs中的Record、Reader详解3)XmlRead
13、erExt.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); 数据篇-ExtJs中的Record、Reader详
14、解上面的myReader能够解析下面的xml文档信息: 2 1 测试 小王 3 2 新年好 williamraym 13 数据篇-ExtJs中的Record、Reader详解再如如下 xml: 001 001001 合肥 巢湖 芜湖 数据篇-ExtJs中的Record、Reader详解 002 002001 aaa bbb ccc 数据篇-ExtJs中的Record、Reader详解例如: var store1 = new Ext.data.Store( url: city.xml, reader: new Ext.data.XmlReader( record: country , name:
15、 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(); /加载所有国家 数
16、据篇-ExtJs中的Record、Reader详解 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(Ex
17、t.util.JSON.encode(item.data); ); ); store2.load(); /加载省份数据篇-ExtJs中的Record、Reader详解 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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工思想动态调查分析报告(3篇)
- 护士长个人思想工作总结报告(3篇)
- 宿迁市2026年海关系统公务员考试(电子信息化类)冲刺试题解析
- 青岛海明城市发展有限公司及全资子公司招聘笔试真题2025
- 河北水文工程地质勘察院有限责任公司招聘笔试真题2025
- 2025-2026学年嘉峪关市三年级数学下学期期中监测试题含答案解析
- 2026年威海昆嵛职业学院单招综合素质考试题库含答案详解AB卷
- 2027年福建省三明市高职单招职业技能考试题库及答案详解(典优)
- 2026年张家口现代能源职业学院高职单招职业适应性测试考试题库附参考答案详解(培优)
- 2025年山东航空技师学院单招综合素质考试模拟试卷带答案详解(黄金题型)
- 雷火灸讲义专题知识讲座
- 小区物业安全生产工作方案
- DL-T 1476-2023 电力安全工器具预防性试验规程
- 20S805-1 雨水调蓄设施-钢筋混凝土雨水调蓄池
- 上市公司内控培训课件
- 初高中数学知识衔接资料
- 儿科护理培训:儿童肾功能不全护理
- 2023浙江省教师招聘初中科学参考试卷及答案
- 管理能力评估表(10项能力,等级区分)
- 火灾报警系统设计规范
- 人教版高中数学必修一课后题答案
评论
0/150
提交评论