- 浏览: 112164 次
- 性别:
- 来自: 厦门
文章分类
最新评论
-
qiqibaba1990:
JAVA与JS的数据交互 -
月氏城下:
为什么是5个,不是9个吗?
JSP五大内置对象 -
mida:
有点文字时不时更好了。
JAVA与JS的数据交互 -
pxx199248:
收藏楼,不错
常用JS驗證
1、Record
首先需要明确是,ExtJS中有一个名为Record的类,表格等控件中使用的数据是存放在Record对象中,一个Record可以理解为关系数据表中的一行,也可以称为记录。Record对象中即包含了记录(行中各列)的定义信息(也就是该记录包含哪些字段,每一个字段的数据类型等),同时又包含了记录具体的数据信息(也就是各个字段的值)。
我们来看直接使用Record的代码:
var MyRecord = Ext.data.Record.create([
{name: 'title'},
{name: 'username', mapping: 'author'},
{name: 'loginTimes', type: 'int'},
{name: 'lastLoginTime', mapping: 'loginTime', type: 'date'}
]);
var r=new MyRecord({
title:"日志标题",
username:"easyjf",
loginTimes:100,
loginTime:new Date()
});
alert(MyRecord.getField("username").mapping);
alert(MyRecord.getField("lastLoginTime").type);
alert(r.data.username);
alert(r.get("loginTimes"));
});
首先使用Record的create方法创建一个记录集MyRecord,MyRecord其实是一个类,该类包含了记录集的定义信息,可以通过MyRecord来创建包含字段值的Record对象。在上面的代码中,最后的几条语句用来输出记录集的相关信息,MyRecord.getField("username")可以得到记录中username列的字段信息,r.get("loginTimes")可以得到记录loginTimes字段的值,而r.data.username同样能得到记录集中username字段的值。
对Record有了一定的了解,那么要操作记录集中的数据就非常简单了,比如r.set(name,value)可以设置记录中某指定字段的值,r. dirty可以得到当前记录是否有字段的值被更改过等等。
2、Store
Store可以理解为数据存储器,可以理解为客户端的小型数据表,提供缓存等功能。在ExtJS中,GridPanel、ComboBox、DataView等控件一般直接与Store打交道,直接通过store来获得控件中需要展现的数据等。一个Store包含多个Record,同时Store又包含了数据来源,数据解析器等相关信息,Store通过调用具体的数据解析器(DataReader)来解析指定类型或格式的数据(DataProxy),并转换成记录集的形式保存在Store中,作为其它控件的数据输入。
数据存储器由Ext.data.Store类定义,一个完整的数据存储器要知道数据源(DataProxy)及数据解析方式(DataReader)才能工作,在Ext.data.Store类中数据源由proxy配置属性定义、数据解析(读取)器由reader配置属性定义,一个较为按部就班创建Store的代码如下:
当然,这样的难免代码较多,Store中本身提供了一些快捷创建Store的方式,比如上面的示例代码中可以不用先创建一个HttpProxy,只需要在创建Store的时候指定一个url配置参数,就会自动使用HttpProxy来加载参数。比如,上面的代码可以简化成:
虽然不再需要手动创建HttpProxy了,但是仍然需要创建DataReader等,毕竟还是复杂,ExtJS进一步把这种常用的数据存储器进行了封装,在Store类的基础上提供了SimpleStore、SimpleStore、GroupingStore等,直接使用SimpleStore,则上面的代码可以进一步简化成下面的内容:
3、DataReader
DataReader表示数据读取器,也就是数据解析器,其负责把从服务器或者内存数组、xml文档中获得的杂乱信息转换成ExtJS中的记录集Record数据对象,并存储到Store里面的记录集数组中。
数据解析器的基类由Ext.data.DataReader定义,其它具体的数据解析器都是该类的子类,ExtJS中提供了读取二维数组、JSon数据及Xml文档的三种数据解析器,分别用于把内存中的二级数组、JSON格式的数据及XML文档信息解析成记录集。下面简单的介绍:
1)ArrayReader
Ext.data.ArrayReader-数组解析器,用于读取二维数组中的信息,并转换成记录集Record对象。首先看下面的代码:
这里定义的myReader可以读取下面的二维数组:
2)JsonReader
Ext.data.JsonReader-Json数据解析器,用于读取JSON格式的数据信息,并转换成记录集Record对象。看下面使用JsonReader的代码:
这里的JsonReader可以解析下面的JSON数据:
JSonReader还有比较特殊的用法,就是可以把Store中记录集的配置信息存放直接保存在从服务器端返回的JSON数据中,比如下面的例子:
这一个不带任何参数的myReader,可以处理从服务器端返回的下面JSON数据:
3)XmlReader
Ext.data.XmlReader-XML文档数据解析器,用于把XML文档数据转换成记录集Record对象。看下面的代码:
上面的myReader能够解析下面的xml文档信息:
发表评论
-
各种布局
2012-04-27 14:01 780Fit布局 在Fit布局中,子元素将自动填满整个父容器。 ... -
Ext中的get、getDom、getCmp、getBody、getDoc的区别
2012-04-23 15:38 799Ext中包含了几个以get开头的方法,这些方法可以用来得到文档 ... -
带验证码登录页面
2012-04-05 10:17 1722Ext.onReady(function(){ ... -
renderTo和applyTo的区别
2012-03-26 10:17 2451RenderTo <head> <ti ... -
Ext.FormPanel表单(实例)
2012-03-26 09:25 2037<!DOCTYPE HTML PUBLIC " ... -
ExtJS Combo学习,相关参数属性解析
2012-03-26 09:17 2914天我们接着深入解析表单元素中ComboBox组件的使用。会涉及 ... -
Ext.Window例子及簡單Ext.menu.Menu
2012-03-26 09:18 1213<!DOCTYPE HTML PUBLIC " ... -
Ext.Panel() 拖动效果
2012-03-23 10:58 6896<!DOCTYPE HTML PUBLIC " ... -
Ext.MessageBos.show()进度条例子
2012-03-23 10:56 1435<!DOCTYPE HTML PUBLIC " ... -
ExtJs 控件详解
2012-03-22 16:11 3294ExtJs 控件详解 1.Ext.M ... -
ExtJS 控件记录
2012-03-22 16:02 807Window - collapsible:true ... -
Aptana安裝Extjs插件
2012-03-22 12:09 1234打開Aptana Help->Install New ...
相关推荐
- 语法:`store.each(function(record, index, totalRecords){ /* 处理记录 */ });` - 参数说明: - `record`:当前遍历到的数据记录。 - `index`:当前记录在Store中的索引位置。 - `totalRecords`:Store中的...
### ext/与Ajax结合获取后台数据的说明及实例 #### 一、引言 随着Web技术的不断发展,前端框架和Ajax技术的结合越来越普遍。在本文档中,我们将详细介绍如何利用ExtJS(简称ext/)与Ajax技术相结合来实现从前端...
本文将详细介绍如何在Ext JS中实现form与grid的交互操作,以便于数据记录(record)的动态加载和编辑。 首先,Ext JS中的表单Panel和网格Panel都是常用的组件,它们可以用来展示和操作数据。FormPanel用于收集和...
实现treegrid组件的(CRUD)读取、新增、修改、删除 ...store.load({node:node}); //异步Ajax提交新增数据 insertdb:function(newrecords) //异步Ajax提交修改数据 updatedb:function(updaterecords)
- 说明:将列与数据集中的字段关联起来。 - 示例:`dataIndex: 'name'` 4. **width** - 说明:定义了列的宽度。 5. **align** - 说明:定义了列中数据的对齐方式。 6. **hidden** - 说明:布尔值,决定列...
RMS的核心概念是记录存储(Record Store),它是一个包含多个记录的集合。每个记录都是一个字节数组,拥有唯一整数标识符。记录存储是在设备的非易失性存储区域创建的,例如闪存,确保在设备重启或电池更换后数据...
我们将基于标题中的“3个代码”来讲解不同的实现方法,并结合提供的资源`demo`进行说明。 1. **ExtJS的MultiSelect ComboBox** 多选下拉框在ExtJS中可以通过扩展ComboBox组件来实现。通常,这需要设置`multiSelect...
接下来,我们通过一个具体的例子来说明如何实现上述四种情况中的第三种情况:页面加载时显示Grid但不查询数据,通过事件触发查询。 ```javascript // 创建数据Store var fds = new Ext.data.Store(); // 创建...
### Struts2与ExtJS集成实现文件的上传、下载与删除功能详解 #### 一、项目背景与技术栈概述 本案例旨在通过Struts2框架与ExtJS前端库的结合来实现文件的批量上传、下载以及删除功能。适用于对Struts2与ExtJS有...
数据包包括了数据存储(Store)、模型(Model)、代理(Proxy)、记录(Record)等组件,方便数据的加载、保存、同步和验证。 7. **与Sencha Touch的共享(Shared with Sencha Touch)** Ext JS 4和Sencha Touch有...
6. **Ajax与数据通信**:包括Ajax请求的实现、JSONP跨域数据获取、Store与服务器的同步策略等。 7. **扩展与插件**:ExtJS允许开发者创建自定义组件和插件,以满足特定需求。这部分会说明如何创建和使用这些扩展。 ...
在中文API中,我们可以找到关于`TreePanel`、`TreeStore`、`NodeInterface`等与树相关的类和接口的说明,以及它们的配置项和方法。 在实际应用中,你可能还需要处理各种交互事件,比如点击节点、展开/折叠节点等。...
- 示例3说明了如何只导出数据库定义,而不包含实际数据。 - 示例4介绍了导出特定用户所有表、索引和其他对象的方法。 ### 常见问题与解决方案 在导出用户时,即使获得了该用户的所有对象,也无法获得这些对象引用...
说明:表名大小写与菜单的modulecode填写一致 1、删除文件:Del+表名.js 2、编辑文件:Edit+表名.js 3、列表文件:List+表名.js B、方法、函数、变量命名规则 (1)Store+表名: 提供record对象的存储容器 ...
(1)、RadminM.txt内容说明 登录信息存放在RadminM.txt文件中,若没有会自动创建,密码用RC4加密,请用户注意保管。RadminM.txt是遵循CSV格式的ANSI文本文件,所有字段内容都不能包含英文惊叹号“!”、英文逗号“,...
(1)、RadminM.txt内容说明 登录信息存放在RadminM.txt文件中,若没有会自动创建,密码用RC4加密,请用户注意保管。RadminM.txt是遵循CSV格式的ANSI文本文件,所有字段内容都不能包含英文惊叹号“!”、英文逗号“,...
包括如何利用Java ME的API进行网络通信(比如HTTP或Socket)、如何实现UI组件以适应小屏幕显示、如何处理手机的有限内存和CPU性能、以及如何存储和恢复用户数据(可能使用了RMS,Record Management Store,Java ME中...