- 浏览: 822018 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (488)
- struts1 (4)
- spring (13)
- extjs (36)
- mysql (3)
- sqlserver (2)
- oracle (37)
- 杂谈 (11)
- 面试相关 (35)
- Java基础知识总结 (5)
- Java重要知识点 线程和io流知识点 (6)
- 服务器相关 (1)
- 生活 (1)
- jsp (7)
- servlet (2)
- junit (3)
- struts2 (9)
- 开发必备 (4)
- 使用开发工具总结的知识 (4)
- ibatis (12)
- ajax (2)
- dwr (2)
- jquery (1)
- 设计模式 (4)
- Lucene的学习 (5)
- 经验总结 (19)
- mysql全文搜索相关 (7)
- hibernate (33)
- Sphinx (1)
- log4j的总结 (1)
- 敏捷开发 (9)
- 持续集成 (15)
- UML使用总结 (1)
- Scrum (1)
- OO(面向对象编程) (1)
- struts1和struts2总结 (1)
- 数据库加密 (1)
- 多线程和Socket编程 (6)
- PowerDesigner (2)
- 权限相关 (1)
- ant应用总结 (4)
- 面试必知知识点总结 (6)
- io流与nio流总结 面试相关 (1)
- 敏捷管理工具的使用 (7)
- hsqldb相关 (1)
- svn源码相关 (2)
- debug调试技巧总结 (1)
- hibernate和ibatis对比相关 (6)
- eclipse mylyn 插件的使用总结 (2)
- fisheye使用总结 (2)
- java泛型总结 (1)
- ssh整合总结 (10)
- SpringSide的学习总结 (1)
- JPA学习总结 (2)
- RoR 总结 (2)
- 模型驱动 总结 (1)
- Oracle SQL优化技巧 (4)
- 数据库相关资料 (1)
- oracle练习相关 (4)
- PowerDesigner 使用总结 (2)
- Struts实现国际化相关 (2)
- 权限框架 Spring Security (1)
- freemarker使用总结 (1)
- jsp servlet总结相关 (3)
- Java NIO总结 (1)
- 自己学习必须 (3)
- 蝴蝶容器相关 (2)
- eclipse插件的使用 (1)
- myeclipse的使用 (1)
- flex相关 (1)
- javaeye重生后总结的知识点 (2)
- 公司学习总结 (3)
- JAXB 相关 (1)
- ECSide (1)
- EdoJs 企业ajax框架 (1)
- RSA加密算法 (1)
- jbpm相关 (1)
- JMF原理 (1)
- MyEclipse使用总结 (1)
- Funsion Charts 相关总结 (3)
- 常用知识2011 (2)
- Flex与Java整合 (1)
- IBM WebSphere相关 (1)
- jQuery使用技巧 (2)
- 2011年面试相关知识点总结 (2)
- sqlserver开发相关 (8)
- eclipse 打jar相关 (2)
- Oracle/Mysql/SqlServer比较 (1)
- WebService Axis1.4开发相关 (4)
- 进制数的转换 总结 (1)
- WebService Axis2.0开发相关 (0)
- iteye Struts2 Spring Hibernate整合相关 (3)
- iteye osgi资料相关总结 (1)
- iteye ifos相关相关 (1)
- iteye 国际化相关 (1)
- iteye Hibernate缓存机制 (4)
- iteye Struts2 总结 (1)
- iteye Struts标签总结 (0)
- iteye web配置文件大全 (6)
- iteye Efs 框架总结 (1)
- iteye sql优化 (2)
- iteye 大数据量高并发的数据库优化 (1)
- iteye 开发相关 (1)
- iteye s1sh 和 s2sh整合中的问题以及解决 (1)
- iteye s1sh整合实例 (1)
- iteye s2sh整合实例 (1)
- iteye 面试相关 基础篇 (1)
- iteye Android相关 (1)
- iteye 面试相关 Web篇 (1)
- iteye Sql Server相关 (0)
- iteye struts1与struts2比较 (1)
- iteye jquery 和Struts2 (0)
- iteye struts2与其他插件整合 (0)
- iteye jquery 开发相关 (1)
- iteye eclipse结合spket(Ext,Jquery)开发相关 (0)
- iteye myeclipse 使用技巧相关 (0)
- iteye Memcached 缓存系统相关 (0)
- iteye 常用软件相关 (0)
- iteye 最新技术预览 AjaxSwing (0)
- iteye struts上传下载相关 (0)
- iteye 新技术相关 (0)
- test (0)
- iteye 开发Java游戏相关 (0)
- iteye Java反编译 (0)
- iteye XML解析相关 (0)
- iteye 压缩ZIP相关 (0)
- iteye 面试相关 (0)
- iteye Android开发相关 (4)
- csdn (0)
- e-inoc (0)
- iteye http错误码对应说明 (0)
- iteye 面试扩展知识点 (0)
- iteye oracle面试相关 存储过程,触发器,游标等 (0)
- iteye english study (0)
- iteye starflow工作流引擎 (0)
- iteye IBM WebSphere Application Server Toolkit使用相关 (0)
- iteye spring3 (0)
- iteye mybatis (0)
- iteye js技巧总结 (0)
- iteye SEO优化相关 (2)
- iteye QUI网页界面集成框架 (1)
- iteye AjaxAnywhere (1)
- iteye Nutz相关 (1)
- iteye ibatis技巧 (0)
- iteye dwz (0)
- 128个ajax/javascript框架 (0)
- iteye 2012 Java Swing教程 (1)
- iteye 码头集装箱相关 (1)
- iteye swing (2)
- 兼职工作 (0)
- 2012 新总结的面试相关知识点 常用知识点 (1)
- 淘宝网店相关 (0)
- oracle 常用函数 2012新总结 (1)
- 我的时尚潮流屋 (0)
- 2012 年 面试新总结知识 (1)
- 技巧 (1)
- 2013总结 (1)
- 2015工作相关 (3)
- springmvc (5)
- EasyPR-Java (1)
- java (2)
- editplus 4.0 注册码 (1)
- android (1)
- oracle连接数据库相关 (1)
- 编程资料总结 (2)
- 20160808 (1)
- visio 2013 (1)
最新评论
-
drew926:
泛型的类型参数可以有多个?这是java哪个版本支持的?
java泛型总结 -
listenan:
赞!非常感谢。
Scrum总结 -
cwscwj:
写的很深刻,谢谢,看了一遍,过段时间打算再看一遍。
Scrum总结 -
hwedwin:
w
Struts 2中的OGNL\EL的使用总结 -
lanni2460:
不错 很好 支持……
sqlserver三个驱动包下载
ExtJS是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的
前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。
ExtJs 最开始基于YUI 技术,
无论从UI 界面上CSS 样式的应用,到数据解析上的异常处理,
都可算是一款不可多得的JavaScript 客户端技术的精品。
extjs 的js 库文件主要包含两个,adapter/ext/ext-base.js 及ext-all.js,其中ext-base.js
表示框架基础库,ext-all.js 是extjs 的核心库
在ExtJS 库文件及页面内容加载完后,ExtJS 会执行Ext.onReady 中指定的函数,下每一个用户的ExtJS 应用都是从Ext.onReady 开始的
一旦页面成功加载了ExtJS 库后,我们就可以在页面中通
过javascript 调用ExtJS 的类及控件来实现需要的功能
底层API(core):底层API 中提供了对DOM 操作、查询的封装、事件处理、DOM 查询
器等基础的功能。其它控件都是建立在这些底层api 的基础上,
Ext 组件是由Component 类定义,每一种组件都有
一个指定的xtype 属性值,通过该值可以得到一个组件的类型或者是定义一个指定类型的组
件。
对于容器中的子元素组件,都支持延迟加载的方式创建控件,此时可以直接通过在需要
父组件的构造函数中,通过给属性items 传递数组方式实现构造
var panel=new Ext.TabPanel({width:300,height:200,items:[ {title:"面板1",height:30},{title:"面板
2",height:30},{title:"面板3",height:30}]});panel.render("hello");
ExtJS 实用简明教程[收集整理:龚辟愚、QQ 群:19274175]
- 13 -
这里包括三个面板。上面的代码与下面的代码等价:
var panel=new Ext.TabPanel({width:300,height:200,items:[new Ext.Panel( {title:"面板1",height:30}),new
Ext.Panel({title:"面板2",height:30}),new Ext.Panel({title:"面板3",height:30})]});panel.render("hello");
前者不但省略掉了new Ext.Panel 这个构造函数,最重要前者只有在初始化TabPanel 的
时候,才会创建子面板,而第二种方式则在程序一开始就会创建子面板。也就是说,前者实
现的延迟加载。
学习及使用ExtJS,
其中最关键的是掌握ExtJS 中的各个组件的配置属性及具体的含义,
。事件统一由
Ext.EventManager 对象管理,与浏览器W3C 标准事件对象Event 相对应,Ext 封装了一个
Ext.EventObject 事件对象。支持事件处理的类(或接口)为Ext.util.Observable,凡是继承该类
的组件或类都支持往对象中添加事件处理及响应功能。
,ExtJS 还支持事件延迟处理或事件处理缓存等功能,比如下面的代码
面板Panel 是ExtJS 控件的基础,很高级控件都是在面板的基础上扩展的,还有其它大
多数控件也都直接或间接有关系。应用程序的界面一般情况下是由一个一个的面板通过不同
组织方式形成。
面板由以下几个部分组成,一个顶部工具栏、一个底部工具栏、面板头部、面板尾部、
面板主区域几个部分组件
VeiwPort 代表整个浏览器显示区域,该对象渲染到页面的body 区域,
并会随着浏览器显示区域的大小自动改变,一个页面中只能有一个ViewPort 实例。
Viewport 主要用于应用程序的主界面
ExtJS 中窗口是由Ext.Window 类定义,该类继承自Panel,因此窗口其实是一种特殊的
面板Panel。
窗口是分组进行管理的,可以对一组窗口进行操作,默认情况下的窗口都在默认的组
Ext.WindowMgr 中
谓布局就是指容器组件中子元素的分布、排列组合方式
ExtJS 的布局基类为Ext.layout.ContainerLayout,其它布局都是继承该类
ExtJS2.0 一共包含十种布局,常用的布局有border、column、fit、form、card、tabel
等布局
suo谓布局就是指容器组件中子元素的分布、排列组合方式
ExtJS 的布局基类为Ext.layout.ContainerLayout,其它布局都是继承该类。
ExtJS2.0 一共包含十种布局,常用的布局有border、column、fit、form、card、tabel
等布局
Border区域布局 该布局把容器分成东南西北中五个区域,分别由east,south, west,north, cente来表示
Column 列布局由Ext.layout.ColumnLayout 类定义,名称为column。。columnWidth 表示使用百分比的形式指定列宽度,而width 则是使用绝对象素的方式指定列宽度,在实际应用中可以混合使用两种方式。
Fit 布局,因此子将自动填满整个父容器。
Form 布局由类Ext.layout.FormLayout 定义,名称为form,是一种专门用于管理表单中输入字段的布局,这种布局主要用于在程序中创建表单字段或表单元素等使用
Ext.form.FormPanel 这个类默认布局使用的是Form 布局,而且FormPanel还会创建与<form> 标签相关的组件,因此一般情况下我们直接使用FormPanel 即可。
Table 布局由类Ext.layout.TableLayout 定义,名称为table,该布局负责把容器中的子元素按照类似普通html 标签
ExtJS 中的表格功能非常强大,包括了排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能
表格由类Ext.grid.GridPanel 定义,继承自Panel,其xtype 为grid。ExtJS 中,表格Grid必须包含列定义信息, 并指定表格的数据存储器Store 。表格的列信息由类
Ext.grid.ColumnModel 定义、而表格的数据存储器由Ext.data.Store 定义,数据存储器根据解析的数据不同分为JsonStore、SimpleStroe、GroupingStore 等。
与服务器交互
ExtJS 使用Ajax 方式提供了一套与服务器交互的机制,也就是可以不用刷新页面,就可以访问服务器的程序进行数据读取或数据保
存等操作。为Sote 组件接受一个参数url,如果设置url,则ExtJS 会创建一个与服务器交互的
Ext.data.HttpProxy 对象,该对象通过指定的Connection 或Ext.Ajax.request 来向服务端发送
请求,从而可以读取到服务器端的数据。
经验表明,服务器端产生JSon 数据是一种非常不错的选择,也就是说假如服务器的
url“student.ejf?cmd=list”产生下面的JSON 数据输出:
数据存储Stroe
,ExtJS 中有一个名为Record 的类,表格等控件中使用的数据是存放在
Record 对象中,一个Record 可以理解为关系数据表中的一行,也可以称为记录。Record 对
象中即包含了记录(行中各列)的定义信息(也就是该记录包含哪些字段,每一个字段的数
据类型等),同时又包含了记录具体的数据信息(也就是各个字段的值)。
Store Store 可以理解为数据存储器,可以理解为客户端的小型数据表,提供缓存等功能。
数据存储器由Ext.data.Store 类定义,一个完整的数据存储器要知道数据源(DataProxy)
及数据解析方式(DataReader)才能工作,在Ext.data.Store 类中数据源由proxy 配置属性定义、
数据解析(读取)器由reader 配置属性定义
DataReader 表示数据读取器,也就是数据解析器,其负责把从服务器或者内存数组、xml
文档中获得的杂乱信息转换成ExtJS 中的记录集Record 数据对象,并存储到Store 里面的记
录集数组中。
ExtJS 中提供了读取二维数组、JSon 数据及Xml 文档的三种数据解析器,分别用于把内存
中的二级数组、JSON 格式的数据及XML 文档信息解析成记录集
1
)ArrayReader
Ext.data.ArrayReader-数组解析器,用于读取二维数组中的信息,并转换成记录集Record
对象。
Ext.data.JsonReader-Json 数据解析器,用于读取JSON 格式的数据信息,并转换成记
录集Record 对象
Ext.data.XmlReader-XML 文档数据解析器,用于把XML 文档数据转换成记录集Record
对象
数据代理(源)基类由Ext.data.DataProxy 定义,在DataProxy
的基础,ExtJS 提供了Ext.data.MemoryProxy、Ext.data.HttpProxy、Ext.data.ScriptTagProxy
等三个分别用于从客户端内存数据、Ajax 读取服务器端的数据及从跨域服务器中读取数据
等三种实现。
直接从从客户端的内存数组中读取数据,此时就可以直接使用Ext.data.MemoryProxy
从服务器端加载的数据直接使用Ext.data.HttpProxy
HttpProxy 直接使用Ext.Ajax 加载服务器的数据,由于这种请求是不能
跨域的,所以要要读取跨域服务器中的数据时就需要使用到Ext.data.ScriptTagProxy。
TreePanel
。ExtJS 中提供了现存的树控件,通过这些控件可以在B/S 应用中快速开发出包含树结构信息的应用。
树控件由Ext.tree.TreePanel 类定义,控件的名称为treepanel,TreePanel 类继承自Panel
面板
Ext.onReady(function(){
var root=new Ext.tree.TreeNode({
第一句使用new Ext.tree.TreeNode 类来创建一个树节点
id:"root",
text:"树的根"});
root.appendChild(new Ext.tree.TreeNode({
第二句使用树节点的
root 的appendChild 方法来往该节点中加入一个子节点
id:"c1",
text:"子节点"
}));
var tree=new Ext.tree.TreePanel({
,最后直接使用new Ext.tree.TreePanel来创建一个树面板,
renderTo:"hello",
root:root,
width:100
});
});
树的节点信息。ExtJS 的树控件提供了对这种功能的支持,你只需要在创建树控件的时
候,通过给树指定一个节点加载器,可以用来从服务器端动态加载树的节点信息
当然上面的程序是一次性加载完了树的所有节点信息,我们也可以实现让每一个节点都
支持动态加载的树,只需要在通过服务器请求数据的时候,每次服务器端返回的数据只只包
含子节点,而不用把孙子节点也返回即可当然上面的程序是一次性加载完了树的所有节点信息,我们也可以实现让每一个节点都
支持动态加载的树,只需要在通过服务器请求数据的时候,每次服务器端返回的数据只只包
含子节点,而不用把孙子节点也返回即可
对于ExtJS 中的树来说,树加载器TreeLoader 是一个比较关键的部件,树加载器由
Ext.tree.TreeLoader 类定义,只有AsyncTreeNode 才会使用TreeLoader。
前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。
ExtJs 最开始基于YUI 技术,
无论从UI 界面上CSS 样式的应用,到数据解析上的异常处理,
都可算是一款不可多得的JavaScript 客户端技术的精品。
extjs 的js 库文件主要包含两个,adapter/ext/ext-base.js 及ext-all.js,其中ext-base.js
表示框架基础库,ext-all.js 是extjs 的核心库
在ExtJS 库文件及页面内容加载完后,ExtJS 会执行Ext.onReady 中指定的函数,下每一个用户的ExtJS 应用都是从Ext.onReady 开始的
一旦页面成功加载了ExtJS 库后,我们就可以在页面中通
过javascript 调用ExtJS 的类及控件来实现需要的功能
底层API(core):底层API 中提供了对DOM 操作、查询的封装、事件处理、DOM 查询
器等基础的功能。其它控件都是建立在这些底层api 的基础上,
Ext 组件是由Component 类定义,每一种组件都有
一个指定的xtype 属性值,通过该值可以得到一个组件的类型或者是定义一个指定类型的组
件。
对于容器中的子元素组件,都支持延迟加载的方式创建控件,此时可以直接通过在需要
父组件的构造函数中,通过给属性items 传递数组方式实现构造
var panel=new Ext.TabPanel({width:300,height:200,items:[ {title:"面板1",height:30},{title:"面板
2",height:30},{title:"面板3",height:30}]});panel.render("hello");
ExtJS 实用简明教程[收集整理:龚辟愚、QQ 群:19274175]
- 13 -
这里包括三个面板。上面的代码与下面的代码等价:
var panel=new Ext.TabPanel({width:300,height:200,items:[new Ext.Panel( {title:"面板1",height:30}),new
Ext.Panel({title:"面板2",height:30}),new Ext.Panel({title:"面板3",height:30})]});panel.render("hello");
前者不但省略掉了new Ext.Panel 这个构造函数,最重要前者只有在初始化TabPanel 的
时候,才会创建子面板,而第二种方式则在程序一开始就会创建子面板。也就是说,前者实
现的延迟加载。
学习及使用ExtJS,
其中最关键的是掌握ExtJS 中的各个组件的配置属性及具体的含义,
。事件统一由
Ext.EventManager 对象管理,与浏览器W3C 标准事件对象Event 相对应,Ext 封装了一个
Ext.EventObject 事件对象。支持事件处理的类(或接口)为Ext.util.Observable,凡是继承该类
的组件或类都支持往对象中添加事件处理及响应功能。
,ExtJS 还支持事件延迟处理或事件处理缓存等功能,比如下面的代码
面板Panel 是ExtJS 控件的基础,很高级控件都是在面板的基础上扩展的,还有其它大
多数控件也都直接或间接有关系。应用程序的界面一般情况下是由一个一个的面板通过不同
组织方式形成。
面板由以下几个部分组成,一个顶部工具栏、一个底部工具栏、面板头部、面板尾部、
面板主区域几个部分组件
VeiwPort 代表整个浏览器显示区域,该对象渲染到页面的body 区域,
并会随着浏览器显示区域的大小自动改变,一个页面中只能有一个ViewPort 实例。
Viewport 主要用于应用程序的主界面
ExtJS 中窗口是由Ext.Window 类定义,该类继承自Panel,因此窗口其实是一种特殊的
面板Panel。
窗口是分组进行管理的,可以对一组窗口进行操作,默认情况下的窗口都在默认的组
Ext.WindowMgr 中
谓布局就是指容器组件中子元素的分布、排列组合方式
ExtJS 的布局基类为Ext.layout.ContainerLayout,其它布局都是继承该类
ExtJS2.0 一共包含十种布局,常用的布局有border、column、fit、form、card、tabel
等布局
suo谓布局就是指容器组件中子元素的分布、排列组合方式
ExtJS 的布局基类为Ext.layout.ContainerLayout,其它布局都是继承该类。
ExtJS2.0 一共包含十种布局,常用的布局有border、column、fit、form、card、tabel
等布局
Border区域布局 该布局把容器分成东南西北中五个区域,分别由east,south, west,north, cente来表示
Column 列布局由Ext.layout.ColumnLayout 类定义,名称为column。。columnWidth 表示使用百分比的形式指定列宽度,而width 则是使用绝对象素的方式指定列宽度,在实际应用中可以混合使用两种方式。
Fit 布局,因此子将自动填满整个父容器。
Form 布局由类Ext.layout.FormLayout 定义,名称为form,是一种专门用于管理表单中输入字段的布局,这种布局主要用于在程序中创建表单字段或表单元素等使用
Ext.form.FormPanel 这个类默认布局使用的是Form 布局,而且FormPanel还会创建与<form> 标签相关的组件,因此一般情况下我们直接使用FormPanel 即可。
Table 布局由类Ext.layout.TableLayout 定义,名称为table,该布局负责把容器中的子元素按照类似普通html 标签
ExtJS 中的表格功能非常强大,包括了排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能
表格由类Ext.grid.GridPanel 定义,继承自Panel,其xtype 为grid。ExtJS 中,表格Grid必须包含列定义信息, 并指定表格的数据存储器Store 。表格的列信息由类
Ext.grid.ColumnModel 定义、而表格的数据存储器由Ext.data.Store 定义,数据存储器根据解析的数据不同分为JsonStore、SimpleStroe、GroupingStore 等。
Ext.onReady(function(){ var data=[ [1, 'EasyJWeb', 'EasyJF','www.easyjf.com'],//用来定义表格中要显示的数据,这是一个[][]二维数 组; [2, 'jfox', 'huihoo','www.huihoo.org'], [3, 'jdon', 'jdon','www.jdon.com'], [4, 'springside', 'springside','www.springside.org.cn'] ]; var store=new Ext.data.SimpleStore({data:data,fields:["id","name","organization","homepage"]}); “var store=…”用来创建一个数据存储,这是GridPanel 需要使用配置属性,数据 存储器Store 负责把各种各样的数据(如二维数组、JSon 对象数组、xml 文本)等转换成ExtJS 的数据记录集Record var grid = new Ext.grid.GridPanel({ renderTo:"hello", title:"中国Java开源产品及团队", height:150, width:600, columns:[{header:"项目名称",dataIndex:"name"}, {header:"开发团队",dataIndex:"organization"}, {header:"网址",dataIndex:"homepage"}], store:store, autoExpandColumn:2 }); }); 第三行“var grid = new Ext.grid.GridPanel(…)”负责创建一个表格,表格包含的列由columns 配置属性来描述, columns 是一数组,每一行数据元素描述表格的一列信息,表格的列信息包含列头显示文本 (header)、列对应的记录集字段(dataIndex)、列是否可排序(sorable)、列的渲染函数(renderer)、 宽度(width)、格式化信息(format)等,在上面的列子中只用到了header 及dataIndex。 另外,每一列的数据渲染方式还可以自己定义,比如上面的表格中,我们希望用户在表格中点击网址则直接打开这些开源团队的网站,也就是需要给网址这一列添加上超级连接。 下面的代码实现这个功能: 格EditorGridPanel 可编辑表格是指可以直接在表格的单元格对表格的数据进行编辑,ExtJS 中的可编辑表格由类Ext.grid.EditorGridPanel 表示,xtype 为editorgrid。使用EditorGridPanel 与使用普通的 那么如何保存编辑后的数据呢?答案是直接使用afteredit 事件。 afterEdit:function(obj){ var r=obj.record; var id=r.get("id"); var name=r.get("name"); var c=this.record2obj(r); var tree=this.tree; var node=tree.getSelectionModel().getSelectedNode(); if(node && node.id!="root")c.parentId=node.id; if(id=="-1" && name!=""){ topicCategoryService.addTopicCategory(c,function(id){ if(id)r.set("id",id); if(!node)node=tree.root; node.appendChild(new Ext.tree.TreeNode({ id:id, text:c.name, leaf:true })); node.getUI().removeClass('x-tree-node-leaf'); node.getUI().addClass('x-tree-node-expanded'); node.expand(); }); } else if(name!="") { topicCategoryService.updateTopicCategory(r.get("id"),c,function(ret){ if(ret)tree.getNodeById(r.get("id")).setText(c.name); }); } }
与服务器交互
ExtJS 使用Ajax 方式提供了一套与服务器交互的机制,也就是可以不用刷新页面,就可以访问服务器的程序进行数据读取或数据保
存等操作。为Sote 组件接受一个参数url,如果设置url,则ExtJS 会创建一个与服务器交互的
Ext.data.HttpProxy 对象,该对象通过指定的Connection 或Ext.Ajax.request 来向服务端发送
请求,从而可以读取到服务器端的数据。
经验表明,服务器端产生JSon 数据是一种非常不错的选择,也就是说假如服务器的
url“student.ejf?cmd=list”产生下面的JSON 数据输出:
数据存储Stroe
,ExtJS 中有一个名为Record 的类,表格等控件中使用的数据是存放在
Record 对象中,一个Record 可以理解为关系数据表中的一行,也可以称为记录。Record 对
象中即包含了记录(行中各列)的定义信息(也就是该记录包含哪些字段,每一个字段的数
据类型等),同时又包含了记录具体的数据信息(也就是各个字段的值)。
Store Store 可以理解为数据存储器,可以理解为客户端的小型数据表,提供缓存等功能。
数据存储器由Ext.data.Store 类定义,一个完整的数据存储器要知道数据源(DataProxy)
及数据解析方式(DataReader)才能工作,在Ext.data.Store 类中数据源由proxy 配置属性定义、
数据解析(读取)器由reader 配置属性定义
DataReader 表示数据读取器,也就是数据解析器,其负责把从服务器或者内存数组、xml
文档中获得的杂乱信息转换成ExtJS 中的记录集Record 数据对象,并存储到Store 里面的记
录集数组中。
ExtJS 中提供了读取二维数组、JSon 数据及Xml 文档的三种数据解析器,分别用于把内存
中的二级数组、JSON 格式的数据及XML 文档信息解析成记录集
1
)ArrayReader
Ext.data.ArrayReader-数组解析器,用于读取二维数组中的信息,并转换成记录集Record
对象。
Ext.data.JsonReader-Json 数据解析器,用于读取JSON 格式的数据信息,并转换成记
录集Record 对象
Ext.data.XmlReader-XML 文档数据解析器,用于把XML 文档数据转换成记录集Record
对象
数据代理(源)基类由Ext.data.DataProxy 定义,在DataProxy
的基础,ExtJS 提供了Ext.data.MemoryProxy、Ext.data.HttpProxy、Ext.data.ScriptTagProxy
等三个分别用于从客户端内存数据、Ajax 读取服务器端的数据及从跨域服务器中读取数据
等三种实现。
直接从从客户端的内存数组中读取数据,此时就可以直接使用Ext.data.MemoryProxy
从服务器端加载的数据直接使用Ext.data.HttpProxy
HttpProxy 直接使用Ext.Ajax 加载服务器的数据,由于这种请求是不能
跨域的,所以要要读取跨域服务器中的数据时就需要使用到Ext.data.ScriptTagProxy。
TreePanel
。ExtJS 中提供了现存的树控件,通过这些控件可以在B/S 应用中快速开发出包含树结构信息的应用。
树控件由Ext.tree.TreePanel 类定义,控件的名称为treepanel,TreePanel 类继承自Panel
面板
Ext.onReady(function(){
var root=new Ext.tree.TreeNode({
第一句使用new Ext.tree.TreeNode 类来创建一个树节点
id:"root",
text:"树的根"});
root.appendChild(new Ext.tree.TreeNode({
第二句使用树节点的
root 的appendChild 方法来往该节点中加入一个子节点
id:"c1",
text:"子节点"
}));
var tree=new Ext.tree.TreePanel({
,最后直接使用new Ext.tree.TreePanel来创建一个树面板,
renderTo:"hello",
root:root,
width:100
});
});
树的节点信息。ExtJS 的树控件提供了对这种功能的支持,你只需要在创建树控件的时
候,通过给树指定一个节点加载器,可以用来从服务器端动态加载树的节点信息
当然上面的程序是一次性加载完了树的所有节点信息,我们也可以实现让每一个节点都
支持动态加载的树,只需要在通过服务器请求数据的时候,每次服务器端返回的数据只只包
含子节点,而不用把孙子节点也返回即可当然上面的程序是一次性加载完了树的所有节点信息,我们也可以实现让每一个节点都
支持动态加载的树,只需要在通过服务器请求数据的时候,每次服务器端返回的数据只只包
含子节点,而不用把孙子节点也返回即可
对于ExtJS 中的树来说,树加载器TreeLoader 是一个比较关键的部件,树加载器由
Ext.tree.TreeLoader 类定义,只有AsyncTreeNode 才会使用TreeLoader。
发表评论
-
Ext 文档相关
2010-11-22 12:55 1068Ext 文档相关 -
Ext3.2中文API(最终完成版2010-10-25)
2010-11-15 10:25 1547Ext3.2中文API(最终完成版2010-10-25).CH ... -
Ext.data.Connection
2010-08-28 23:11 1088Ext.data.Connection Ext.data.C ... -
EXt tree 简单增、删、改、查
2010-08-26 17:43 1854EXt tree 简单增、删、改、查 js: E ... -
在Struts2.0中使用JSON结合DWR和EXT
2010-08-23 08:24 1665在Struts2.0中使用JSON结合DWR和EXT 如 ... -
搭建EXTJS和STRUTS2框架(ext和struts2简单实例)
2010-08-23 08:17 1101新建一个工程struts2工程teaweb(因为现在所做的项目 ... -
EditorGridPanel中ComboBox显示问题?
2010-08-19 23:52 1522function getConsumerUnit(value) ... -
ExtJS3.0之可编辑表格EditorGridPanel
2010-08-19 23:45 2058ExtJS3.0之可编辑表格EditorGridPanel ... -
div左图右文布局效果 收藏
2010-08-19 23:22 1501div左图右文布局效果 收藏 <!DOCTYPE htm ... -
Ext Js Grid 编辑 新增 删除 保存的一个小示例
2010-08-19 23:20 2346Ext Js Grid 编辑 新增 删除 保存的一个小示例 & ... -
xt中combobox在grid显示问题
2010-08-19 23:16 1294xt中combobox在grid显示问题 问题描述:我在ed ... -
Ext.grid.EditorGridPanel的使用、修改记录的获取及提交方法
2010-08-19 20:27 1815<HTML> <HEAD> &l ... -
在Ext中EditorGrid中datefield输入问题解决过程
2010-08-19 20:22 1791在Ext中EditorGrid中datefield输入问题解决 ... -
在extjs中,用GridPanel来显示数据
2010-08-19 17:44 1592在extjs中,用GridPanel来显示数据,需要用到Sto ... -
使用Ext实现拖拉功能
2010-08-19 14:24 1420<!DOCTYPE html PUBLIC &q ... -
深入浅出Ext JS:一个完整的EXT应用
2010-08-19 14:16 2353在本文中,我们将综合运用前面所学的知识,开发一个简单的学生信息 ... -
Ext.GridPanel 用法总结(一)—— Grid基本用法
2010-08-19 12:23 1733Ext.GridPanel 用法总结(一)—— Grid基本用 ... -
Ext.ux.grid.RowEditor的使用
2010-08-19 10:42 3792Ext.ux.grid.RowEditor的使用 RowEd ... -
ext+dwr完整的例子(包括树,增删改查等)
2010-08-14 21:14 1382ext+dwr完整的例子(包括树,增删改查等) 文章分类:We ... -
DWR与EXT整合
2010-08-14 21:01 1338据不完全统计,从事Ajax开发的Java程序员有一大半都使用D ...
相关推荐
EXTJS 是一种基于 JavaScript 的前端框架,主要用于构建富客户端应用程序。它提供了一套完整的组件库,包括用于创建各种用户界面元素的类,如表格、窗口、菜单、表单等。在EXTJS中,TreePanel是用于展示树形数据结构...
EXTJS 是一种基于 JavaScript 的富客户端框架,常用于构建企业级的 Web 应用程序。在EXTJS中,我们可以利用其强大的组件模型和数据绑定机制,构建复杂的用户界面。以下是一些EXTJS的关键知识点: 1. **配置对象**:...
【EXTJS 概述】 EXTJS 是一个强大的 JavaScript 框架,主要用于构建富客户端的 Web 应用程序。它的核心特性包括可扩展的组件模型、丰富的用户界面和数据绑定机制。EXTJS 提供了大量的预定义组件,如表格、表单、...
ExtJS 是一个强大的JavaScript库,专门用于构建富客户端的前端应用程序。它提供了一整套组件,包括表格、面板、窗口、树形控件等,帮助开发者构建交互式、响应式的Web应用。以下是对标题和描述中提到的知识点的详细...
EXTJS 是一个流行的JavaScript库,用于构建富客户端的Web应用程序。它提供了丰富的组件库,包括网格、表单、工具栏、菜单等,使得开发者能够创建功能强大的交互式用户界面。以下是对EXTJS资源文件中涉及的菜单和工具...
一、获取元素(Getting Elements) 1.Ext.get var el = Ext.get('myElementId');//获取元素,等同于document.getElementById('myElementId');//会缓存 2. Ext.fly var el = Ext.fly('myElementId')//不需要缓存...
学习EXTJS总结的例子,里面含有Grid以及ExtJs扩展的例子源码...
本总结例子将深入探讨EXTJS Grid的核心特性和使用方法,通过源代码分析,帮助开发者更好地理解和应用EXTJS Grid。 一、EXTJS Grid的基本结构 EXTJS Grid由多个部分组成,包括Store(数据存储)、Columns(列配置)...
### Extjs 学习——总结的一些常用知识点 #### 一、概述 Extjs 是一个用于构建 Web 应用程序的强大框架,它提供了大量的 UI 组件和功能,可以帮助开发者快速搭建出高质量的应用界面。本文将根据一个月的学习经验,...
EXTJS是一种专为Rich Internet Applications (RIA)设计的前端JavaScript框架,它的主要定位与Prototype、jQuery等轻量级库截然不同。EXTJS注重客户端的复杂应用开发,提供了丰富的组件和功能,使得开发者能够构建出...
本人对extjs 各种开发的亲身总结,包括多种列表、树、以及很多扩展功能
"Extjs总结.doc"可能是个人或团队在使用ExtJS进行开发后的经验总结,可能包括最佳实践、常见问题、性能优化等方面的笔记,对于后续使用ExtJS的开发者有很高的参考价值。 "标签.doc"可能涉及的是Web开发中的标签系统...
### ExtJS3总结内容:深入理解xtype与vtype #### 概述 在ExtJS3框架中,`xtype`与`vtype`是两个关键的概念,它们分别用于组件类型的标识和表单验证规则的定义。本文将详细介绍`xtype`的使用,以及其在ExtJS3组件...
目录 1. ExtJs 结构树 2 ...25. extJs 2.0学习笔记(Ext.Element API总结) 69 26. extJs 2.0学习笔记(Element.js篇) 73 27. extJs 2.0学习笔记(DomHelper.js篇) 76 28. extJs 2.0学习笔记(ext.js篇) 77
### 总结 ExtJS教程通过一系列的例子和详细的解释,帮助开发者快速上手ExtJS框架,掌握其核心功能和高级特性。无论你是初学者还是有经验的开发人员,ExtJS都能提供强大的工具和资源来帮助你创建美观、功能丰富、兼容...
总结来说,ExtJS 4.2 Desktop 拓展是一个集成了多种桌面特性并优化了基础框架的解决方案,它提供了图标换行、窗口拖动、多级开始菜单等功能,使得开发复杂的Web应用变得更加简单和直观。通过下载提供的LinBDesk4.2...
extjs各种组件的详细实现及各种扩展归纳总结,包括各种grid,tree,布局,表单,ajax,弹出框等
总结来说,EXTJS3.0的树形组件提供了一种直观且可编辑的方式来展示层次结构数据,其丰富的API和编辑功能使得开发者能构建出高度交互和定制化的应用程序。通过深入学习和实践EXTJS实例,我们可以更好地掌握这一强大的...
### MyEclipse中使用ExtJS出现缓慢、卡死、白屏问题及解决方法总结 在进行Web开发时,经常会遇到一些工具与框架不兼容或配置不当导致的问题,这些问题往往会影响到开发效率。本文将针对在MyEclipse环境中使用ExtJS...