1.支持命名空间
Ext.namespace("Ext.dojochina");
Ext.dojochina.HelloWorld = Ext.emptyFn();
//命名空间别名
Dc=Ext.dojochina;
PN=Ext.dojochina.Person;
2.Ext类继承
Ext.extend(Ext.dojochina.Student,Ext.dojochina.Person,{job:"学生"});
//类实例方法重写
Ext.extend(Ext.dojochina.Teacher,Ext.dojochina.Person,
{print:function(){}}
)
3.字符串格式化
String.format("姓名:{0},性别:{1}",this.name,this.sex);
4.页面加载完后执行
Ext.onReady(function(){
})
5.Ext 属性
(1)事件机制: Ext.util.Observable
(2)Ext的公共属性前有read-only,表示只读,设置不起作用。
(3)Ext的配置项是指在构造函数内指定属性值进行配置构造。
例:Ext.Button({text:'确定'});
(4)renderTo:将当前对象所生成的Html对象存放进指定的对象中。
(5)handler:指定一个函数句柄,在默认事件触发时调用,此时默认事件为click.
(6)listeners:这个是在对象初始化之前,就将一系列事件进行定义的手段。
例:listeners:{"click":function(){
}};
6.Ext布局
Ext.layout.FormLayout,只有在此布局下才能正确显示文本框的标签名。
7.数据存储机制
Ext.data.JsonStore({
data:[{},{}],
fields:["","",""]//fields对上面的data对象进行解析
})
store.getCount();//数据集个数
store.getAt(1).data;//指定索引的数据
store.filter(“type”,”支出”);//数据过滤,只显示类型为支出的记录
store.clearFilter();//清除过滤条件,显示全部。
Ext.util.JSON.encode(store.getAt(1).data);//对指定对象解析
JsonStore里面的data也可用远程代理取得,需显示调用store.load();
例: proxy:new Ext.data.HttpProxy({
url:""
})
//本地数组数据存储,字段与data应一一对应。
例:Ext.data.SimpleStore({
data:[["","",""],[""],[""],[""]],
fields:["","",""]
})
SimpleStore也支持远程代理,将data用url取代,url返回的数据也应是Array的形式。
8.Store数据解析
(1)构建本地数据和解析的store
例:var store = new Ext.data.Store({
data:[['男'],['女']],
reader:new Ext.data.ArrayReader({},
Ext.data.Record.create(["sex"])
)
})
(2)构建本地Json数据和解析的store
例:var store = new Ext.data.Store({
data:[{sex:'男'},{sex:'女'}],
reader:new Ext.data.JsonReader({},
Ext.data.Record.create(["sex"])
)
})
9.表格组件GridPanel
1.外框架 2.列定义 3.选中机制 4.数据源
例:var grid = new Ext.grid.GridPanel({
store:{},
cm:new Ext.grid.ColumnModel([
{header: 'ID ',dataIndex:'uuid',
width:130,sortable:true,hidden:true}
]),
sm: new Ext.grid.RowSelectionModel({singleSelect:true})
});
如果grid中的store使用代理机制,应设autoLoad为true.
columnModel中如果要指定某列不能过滤或排序,设置menuDisabled为true.
如果要设置gridPanel中列不可拖动,则应设置Panel中enableColumnMove为false.
如果要将gridPanel中的数据显示在指定的FormPanel中,可以在选中事件中,
调用FormPanle的loadRecord();
10.可编辑面板
例:var grid = new Ext.grid.EditorGridPanel({
store:store,
cm:[{header: 'ID ',dataIndex:'uuid',width:130,
editor:new Ext.form.TextField({})
}]
})
var m = store.modified;//被修改的记录
m[0].modified //第一条被修改记录的修改字段
store.commitChanges();//仅提交修改的数据提交到后台。
grid.startEditing(0,0)://第0行,第0列开始修改。
11.Ext组件化编程
PersonViewFormPanel = Ext.extend(Ext.form.FormPanel,{
constructor:function(){
PersonViewFormPanel.superclass.constructor().call(this,{
// 此处与构建FormPanel中构造函数配置一样
})
}
})
12.表单字段验证
例:Ext.apply(Ext.form.VTypes,{
"age":function(_v){
var _age = parseInt(-v);
if(-age<200) return true;
return false;
},"ageText":"该输入项必须为年龄格式"
})
//然后在表单中的字段中指定vtype = "age".
13.数据提交后台
例:Ext.Ajax.request({
url:'',
paramers:{},
success:function(){},
failure:function(){}
})
14. Form组件
取值时可用getForm().findField(“fieldname”).getValue();
15. 日期控件(时间)
例:xtype:"timefield",
fieldLable:'时间',
name:'time',
increment:10,//以10分钟为一个单位
format:"H:i:S"
16.Dom元素查询(Ext.DomQuery)
例:// 检索head下script元素
var array = Ext.DomQuery.select("head/script");//或head>script
for(var i=0;i<array.length;i++){
alert(array[i].outHTML);//outHTML为元素的Html元素表示
}
//查找span的父元素或祖父元素为div的元素
Ext.DomQuery.select("div span");
("div+span") //查找div的直接兄弟结点span
("div[id]") //查找div下有id节点的
("div[id]=extjs") //查找div下id名称为extjs的节点
("div:first-child") //查找div父节点的第一个子节点
("div:last-child") //查找div父节点的最后一个子节点
("div:nth-child(2)") //查找div节点的第二个div节点
Ext.getDoc();//获得ext的Dom节点树
//创建元素结点
Ext.DomHelpe.append(Ext.getBody(),{
tag:"div",html:"测试元素"
})
17.树型面板
例:var tree = new Ext.tree.TreePanel({
el:"tree",
loader:new Ext.tree.TreeLoader({
dataUrl:""
}),root:new Ext.tree.AsyncTreeNode({
text:"根结点"
})
})
树型结构主要根据Json数据构造
leaf:true //为叶子结点(在json中构造,复选框也是在json中构造)
//本地数据构建树
例:var tree = new Ext.tree.TreePanel({
el:"tree",
root:new Ext.tree.AsyncTreeNode({
text:'载入结点',
children:[{text:'硬件',leaf:true},
{text:'软件',children:[{},{}]}]//children可嵌套多级
})
})
18.菜单构建(在树面板中构建)
var menu = new Ext.menu.Menu({
items:[{text:'添加'},
{text:'修改'},
{text:'删除'}]
})
右击树型面板,显示菜单可添加contextmenu事件,
例:listeners:{
"contextmenu":function(_node,_e){
menu.showAt(_e,getXY());//在当前单击事件的坐标处显示菜单
menu["currentNode"]=_node;//将单击时选中的节点赋值给菜单当前结点,以进行相关操作
}
}
// 修改树型结点
menu["currentNode"].setText("新名称");
// 删除树型结点
menu["currentNode"].remove();
// 添加树型结点
menu["currentNode"].appenChild(
new Ext.tree.AsyncTreeNode({
Text:"新结点",
id:"",
leaf:true // 在添加节点之前可先将menu["currentNode"].leaf=false,才可重复创建结点
})
)
注:在添加结点时需将TreeLoader的clearOnLoad设置为false,
添加完节点需将当前结点展开,menu["currentNode"].expand();
分享到:
相关推荐
标题中的"ext基础"指的是在计算机编程中,EXT(Extension)通常是指文件扩展名或软件扩展,这在很多编程语言和操作系统中都有所涉及。文件扩展名是文件名的一部分,用于标识文件的类型和用途。例如,".txt"用于纯...
完整的ext 3.2的版本,可以在examples文件夹下看到效果!完整的ext 基础教程,可以让ext基础开发者跟快的从事前端页面的开发和设计!
ext 学习资料 ext基础知识,基础教程。
### Ext 开发指南 ext基础教程 #### 极致解析:ExtJS基础知识与实践应用 **一、引言** 随着Web技术的不断进步和发展,越来越多的企业和开发者开始关注如何提升Web应用的用户体验。在这个背景下,ExtJS作为一个...
在这个"Ext基础入门示例"中,我们将探讨如何使用ExtJS中的核心组件——Panel,以及如何进行基本的入门操作,包括生成可编辑表格、数据统计图以及主题变换。 首先,让我们了解ExtJS中的Panel组件。Panel是ExtJS中最...
首先,EXT2.0的教程主要包括两个部分:《EXT2.0简明教程》和《ext基础教程》。这两份教材都是初学者了解EXTjs的重要资源。《EXT2.0简明教程》以CHM(Compiled Help Manual)格式提供,通常包含详尽的API文档和实例...
EasyExt_004_Ext基础架构_基本使用
这个是我学习Ext基础的一个测试文件。版本是Ext3.0希望对大家有用
这个压缩包包含的资源是关于Gwt-Ext的基础、中级和进阶学习资料,适合想要深入理解和应用Gwt-Ext的开发者。 在"基础篇"中,你将学习到以下知识点: 1. **GWT概述**:Google Web Toolkit是一个用于构建高性能、跨...
本资源包含5个ext的基础教程,保证初学者能轻松看懂以及迅速掌握ext的编写方法
富客户端程序RIA使Web表示层的技术向前...Ext JS及与之相关的GXT、Ext SHARP等开发工具的推出,使快速开发、基于可视化快速开发工具又向前迈进一大步。本书以学习Ext JS的开发人员为基本读者,介绍了Ext 2.2的基本使用
EXT简介 Ext 2简述 EXT新手建议 怎么轻松地进入Ext的世界? 从零开始Ext 设置基础页 Javascript中的作用域(scope)是什么?(一) Javascript中的作用域(scope)是什么?(二) Ext源码概述 Ext与RESTful Web Services ...
刚接触ext 自己做的一些布局方面的例子与大家分享 虽然很简单 希望对大家有帮助