`
clq9761
  • 浏览: 592491 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

Ext基础

    博客分类:
  • Ext
ext 
阅读更多

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基础"指的是在计算机编程中,EXT(Extension)通常是指文件扩展名或软件扩展,这在很多编程语言和操作系统中都有所涉及。文件扩展名是文件名的一部分,用于标识文件的类型和用途。例如,".txt"用于纯...

    ext 3.2 资源,和ext 基础教程

    完整的ext 3.2的版本,可以在examples文件夹下看到效果!完整的ext 基础教程,可以让ext基础开发者跟快的从事前端页面的开发和设计!

    ext js资料 ext基础

    ext 学习资料 ext基础知识,基础教程。

    ext 开发指南 ext基础教程

    ### Ext 开发指南 ext基础教程 #### 极致解析:ExtJS基础知识与实践应用 **一、引言** 随着Web技术的不断进步和发展,越来越多的企业和开发者开始关注如何提升Web应用的用户体验。在这个背景下,ExtJS作为一个...

    Ext基础入门示例

    在这个"Ext基础入门示例"中,我们将探讨如何使用ExtJS中的核心组件——Panel,以及如何进行基本的入门操作,包括生成可编辑表格、数据统计图以及主题变换。 首先,让我们了解ExtJS中的Panel组件。Panel是ExtJS中最...

    EXTjs2.0 教程 包括《EXT2.0简明教程》和《ext基础教程》两份教材

    首先,EXT2.0的教程主要包括两个部分:《EXT2.0简明教程》和《ext基础教程》。这两份教材都是初学者了解EXTjs的重要资源。《EXT2.0简明教程》以CHM(Compiled Help Manual)格式提供,通常包含详尽的API文档和实例...

    EasyExt_004_Ext基础架构_基本使用

    EasyExt_004_Ext基础架构_基本使用

    Ext 基础学习

    这个是我学习Ext基础的一个测试文件。版本是Ext3.0希望对大家有用

    Gwt-Ext基础-中级-进阶

    这个压缩包包含的资源是关于Gwt-Ext的基础、中级和进阶学习资料,适合想要深入理解和应用Gwt-Ext的开发者。 在"基础篇"中,你将学习到以下知识点: 1. **GWT概述**:Google Web Toolkit是一个用于构建高性能、跨...

    ext基础教程与框架源码分析

    本资源包含5个ext的基础教程,保证初学者能轻松看懂以及迅速掌握ext的编写方法

    Ext基础教程富客户端程序RIA

    富客户端程序RIA使Web表示层的技术向前...Ext JS及与之相关的GXT、Ext SHARP等开发工具的推出,使快速开发、基于可视化快速开发工具又向前迈进一大步。本书以学习Ext JS的开发人员为基本读者,介绍了Ext 2.2的基本使用

    Ext官方中文教程(可打包下载)

    EXT简介 Ext 2简述 EXT新手建议 怎么轻松地进入Ext的世界? 从零开始Ext 设置基础页 Javascript中的作用域(scope)是什么?(一) Javascript中的作用域(scope)是什么?(二) Ext源码概述 Ext与RESTful Web Services ...

    ext基础布局示例

    刚接触ext 自己做的一些布局方面的例子与大家分享 虽然很简单 希望对大家有帮助

Global site tag (gtag.js) - Google Analytics