ExtJs入门实例

合集下载

ExtJs入门实例

ExtJs入门实例

ExtJs2.0学习系列(1)--Ext.MessageBox发布时间:2008-8-7大家都知道,刚开始搞extjs的时候,很是有点困难,所以本人在新手刚入门后准备了这个系列的文章。

个人认为用extjs做后台很不错,布局比较完美!1.Ext.MessageBox.alert()方法有四个参数,为简单起见,主要介绍前面三个参数:alert( title , msg , function(){} )其中title,msg为必选参数,function为可选参数,在关闭弹出窗口后触发。

Ext.MessageBox.alert("title","msg");Ext.MessageBox.alert("title","msg",function(){alert("关闭对话框后弹出!")});2.Ext.MessageBox.confirm()方法基本上同alert()方法一模一样。

注意这点:Ext.MessageBox.confirm("title","msg",function(e){alert(e);});这个参数e是什么?它是你点击的弹出框的按钮的值,三种值:yes,no,cancel.Alert()方法也是如此,不过只有两种值:ok,cancel.3.Ext.MessageBox.prompt()方法有六个参数,比前面alert方法多一个返回值和是否多行。

Ext.MessageBox.prompt("title","msg");Ext.MessageBox.prompt("title","msg",function(e,text){alert(e+"-"+text);});//输入"qianxudetianxia",点击ok按钮,弹出ok-qianxudetianxiaExt.MessageBox.prompt("title","msg",function(e,text){alert(e+"-"+text);},this,true);//true为多行,this表示作用域4.Ext.MessageBox.show()方法功能很强大,采用config配置形式,比前面的方法使用更方便。

ExtJs4.0入门教程

ExtJs4.0入门教程

ExtJS简介

ExtJS显示效果示例1
ExtJS简介

ExtJS显示效果示例2
ExtJS简介

认识ExtJS的开发包
要开始ExtJS之旅的第一步是要获得开发包,可以 从官方网站/下载。下载 地址是 /products/extjs/downloa d

ExtJS组件之Panel


控件
控件(widgets):控件是指可以直接在页面中创建 的可视化组件,比如面板、选项板、表格、树、 窗口、菜单、工具栏、按钮等等,在我们的应用 程序中可以直接通过应用这些控件来实现友好、 交互性强的应用程序的UI。
ExtJS基础组件


组件分类举例
容器组件:如toolbar、pagingtoolbar、panel、 form、menu、treePanel、gridPanel、window等。 工具栏及菜单栏组件:如tbseparator(工具栏分 隔符)、menuitem(菜单项)等。 表单及元素组件:如checkboxfield(复选框)、 combo(下拉列表)、datefield(日期选择项)等。 其他组件(包括图表、视图、编辑、按钮组件): 如chart、button。
• • • • •
• •
ExtJS简介

ExtJS API文档
ExtJS简介


从Hello World开始
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <link rel='stylesheet' type='text/css' href='./ext/resources/css/ext-all.css'> <script type="text/javascript" src="./ext/bootstrap.js"></script> <script type="text/javascript"> Ext.onReady(function(){ Ext.MessageBox.alert('helloWorld',"I'm coming"); }); </script> </head> <body> </body> </html>

EXTJS(入门篇13)HowtouseclassesinSenchaTouch2

EXTJS(入门篇13)HowtouseclassesinSenchaTouch2

How to use classes in Sencha Touch 2本系列文章为翻译文章,翻译自API文档,也是入门级别的文章,请初学者认真阅读,若是翻译有不妥的地址,请谅解,若是转载请注明作者及出处。

Sencha Touch 2利用了Ext JS4中先进的类系统。

这便使得咱们在JS代码中,能够轻松创建类,并提供了继承,依托加载等壮大的功能。

最简单的,一个类本身确实是一个object,只只是是附加了一些功能函数和属性。

例如下面的类文件,咱们概念了一个animal类,其中有一个name属性和一个函数:此刻,咱们有了一个Animal类,该类有name属性和speak函数。

咱们能够利用Ext.create 函数来创建该类的一个实例:上面的代码,咱们创建animal类的实例Bob而且挪用了Bob中的speak函数。

咱们不单单能创建并实例化一个类,其实很多时候,咱们需要概念一些类的子类来实现咱们特定的功能,例如:咱们利用extend关键字实现类的继承,创建了咱们自己的类,该类虽继承了animal类的所有功能,可是咱们也能够为其定制新的功能,以便利用,例如上面的例子中,咱们重写了speak函数。

下面咱们就实例化咱们的新类:在咱们概念Human类的时候,你可能发觉了,咱们并无概念函数getName,其实该函数是系统为咱们自动生成的一个函数。

系统会自动为咱们的属性添加getter,setterapply和update函数的。

至于setter和getter函数就不详细介绍了,大伙儿一看名字便已经清楚作用了,我那么着重讲解一下另外的两个函数。

当一个属性的值改变的时候,就会触发apply函数,在上面的例子中即是applyName()函数。

当一个属性的值较运行时的值改变的时候便会触发update函数,在上面的例子中即是updateName()函数。

getter和setter函数是一种专门好的机制,所有每一个组件都会遵循该方式为每一个属性添加相应的方式。

ExtJs2.0学习系列(4)--Ext.FormPanel之第一式

ExtJs2.0学习系列(4)--Ext.FormPanel之第一式

ExtJs2.0学习系列(4)--Ext.FormPanel之第一式上篇中我们讨论了Ext.window的简单使用,今天我们要看看强大的FormPanel,也是继承panel组件的使用。

首先弄清楚这个问题,创建的时候://查看源代码便知,两种方法是一样的Ext.form.FormPanel = Ext.Form Panel;我们还是从最简单的代码实例开始吧:<!--html代码--><body><div id="form1"></div></body>//js代码var form1 = new Ext.form.FormPanel({width:350,fram e:true,//圆角和浅蓝色背景renderTo:"form1",//呈现title:"FormPanel",bodyStyle:"padding:5px 5px 0",item s:[{fieldLabel:"UserName",//文本框标题xtype:"textfield",//表单文本框nam e:"user",id:"user",width:200},{fieldLabel:"PassWord",xtype:"textfield",nam e:"pass",id:"pass",}],buttons:[{text:"确定"},{text:"取消",handler:function(){alert("事件!");}}]});都是通过items属性参数把表单元素添加到这个表单中。

extjs入门案例大全

extjs入门案例大全

Ext.onReady(function(){var cm = new Ext.grid.ColumnModel([{header:'编号',dataIndex:'id'},{header:'名称',dataIndex:'name'},{header:'描述',dataIndex:'descn'}])。

var data = [['1','name1','descn1'],['2','name2','descn2'],['3','name3','descn3'],['4','name4','descn4'],['5','name5','descn5']]。

var ds = new Ext.data.Store({proxy:new Ext.data.MemoryProxy(data),reader:new Ext.data.ArrayReader({},[{name:'id'},{name:'name'},{name:'descn'}])})。

ds.load()。

var grid = new Ext.grid.GridPanel({ds:ds,cm:cm,width:300,height:400,renderTo:'grids',tbar:[{xtype:'datefield'}]})。

grid.render()。

})。

Ext.onReady(function(){new Ext.Panel({renderTo:"hello",title:"第一个",width:300,height:300,html:'<h1>Hello World</h1>'})。

EXTJS框架-入门实例

EXTJS框架-入门实例

EXTJS框架-⼊门实例extjs框架是⼀个JavaScript框架,可以渲染出丰富的控件实例:代码:<html><head><title>test</title><link type="text/css" rel="Stylesheet" href="css/ext-all.css"/><!--<link rel="stylesheet" type="text/css" href="css/ux-all.css" /><link rel="stylesheet" type="text/css" href="css/yourtheme.css" />--><script src="js/ext-base.js" type="text/javascript"></script><script src="js/ext-all.js" type="text/javascript"></script><!--<script type ="text/javascript" src="js/ux-all.js"></script>提⽰框<script type ="text/javascript" src="js/App.js"></script>--></head><body><div style="border:4px dashed #ccc;margin:50px 50px;padding:50px 50px;">输⼊框<input id="text" /><br/>表格<div id="grid" style="height:200px;"></div><br/>表单<div id="form" style="height:120px;"></div>表单组件<div id="formGroup" ></div></div><script type="text/javascript">Ext.onReady(function () {//提⽰框//Ext.Msg.alert('<span style="color:red;">tip</span>','这个是EXTJS的demo,初始化加载⽅法都应该<span style="color:red;">写在Ext.onReady⾥⾯</span>'); //事件绑定Ext.get('text').on('keypress',enterEvent);//表格gridControl();//表单formControl();//表单组件formGroupControl();});///回车事件function enterEvent(e){if(e.charCode==Ext.EventObject.ENTER){console.log(Ext.get('text').dom.value);Ext.Msg.alert('info','hello,'+Ext.get('text').dom.value);}}//表格控件function gridControl(){//⾏号var rn=new Ext.grid.RowNumberer();//列var cm=new Ext.grid.ColumnModel([rn,{header:'编号',dataIndex:'id'},{header:'名称',dataIndex:'name',renderer:function(value){return '<span style="color:red;" onclick="e_alert(\''+value+'\')">名称是'+value+'</span>'; }},{header:'描述',dataIndex:'desc'},{header:'备注',dataIndex:'remark'}]);//数据var data=[['id','name','desc','remark'],['2','name','desc','remark'],['3','name','desc','remark'],['4','name','desc','remark'],['5','name','desc','remark'],['7','name','desc','remark'],['8','name','desc','remark'],['1','2','3','4']];var store=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(data),//proxy:new Ext.data.ScriptTagProxy({url:'/data.json'}),reader:new Ext.data.ArrayReader({},[{name:'id',mapping:0},{name:'name',mapping:1},{name:'desc'},{name:'remark'}])});//⾯板var grid=new Ext.grid.GridPanel({renderTo:'grid',height:200,store:store,loadMask:true,cm:cm,viewConfig:{forceFit:true}});//加载数据store.load();}function e_alert(value){Ext.Msg.alert('info',value);}//表单function formControl(){var form=new Ext.form.FormPanel({defaultType:'textfield',labelAlign:'right',title:'form',frame:true,labelWidth:50,buttonAlign:'center',width:220,items:[{fieldLabel:'⽂本框'}],buttons:[{text:'按钮'}]});form.render('form');}//表单组件function formGroupControl(){Ext.QuickTips.init();var formGroup=new Ext.form.FormPanel({title:'form',frame:true,labelWidth:50,width:600,labelAlign:'right',buttonAlign:'center',items:[{layout:'column',items:[{title:'单纯输⼊',xtype:'fieldset',checkboxToggle:true,autoHeight:true,columnWidth:0.7,defaults:{width:300},items:[{fieldLabel:'⽂本',xtype:'textfield',name:'text'},{fieldLabel:'数字',xtype:'numberfield',name:'number'},{fieldLabel:'选择',xtype:'combo',name:'combo',store:new Ext.data.SimpleStore({ fields:['value','text'],data:[['1','2'],['aa','bb'],['aa2','bb2'],['aa3','bb3'],['hello','你好'],]}),valueField:'value',displayField:'text',mode:'local',emptyText:'请选择'},{fieldLabel:'⽇期',xtype:'datefield',name:'date'},{fieldLabel:'时间',xtype:'timefield',name:'time'},{fieldLabel:'多⾏',xtype:'textarea',name:'textarea'},]},{title:'多选',xtype:'fieldset',checkboxToggle:true,hideLabels:true,style:'margin-left:10px;',columnWidth:0.3,defaultType:'checkbox',items:[{boxLabel:'⾸先要吃饱',name:'check',value:'1',width:'auto'},{boxLabel:'然后也要吃饱',name:'check',value:'2',checked:false,width:'auto'},{boxLabel:'接着还是要吃饱',name:'check',value:'3',checked:true,width:'auto'},{boxLabel:'最后也要吃饱',name:'check',value:'4',checked:false,width:'auto'},]},{title:'单选',xtype:'fieldset',checkboxToggle:true,defaultType:'radio',style:'margin-left:10px;',columnWidth:0.3,hideLabels:true,autoHeight:true,items:[{boxLabel:'渴望⾃由',name:'rad',value:'1',checked:true,width:'auto'},{boxLabel:'祈求爱情',name:'rad',value:'2',width:'auto'}]}]},{layout:'form',labelAlign:'top',items:[{xtype:'htmleditor',fieldLabel:'在线编辑器',id:'editor',anchor:'98%'}]}],buttons:[{text:'保存'},{text:'读取'},{text:'取消'},]});formGroup.render('formGroup'); }</script></body></html>。

第一周 ExtJS入门

第一周ExtJS入门
1、公司目前使用ExtJS 4.2版本。

可以从官方网站下载或从其他同事处拷贝。

下载地址:/ext/gpl/ext-4.2.1-gpl.zip
图1 部署成功界面
2、安装spket工具。

参考地址:
/link?url=40tQO9jckKqY_1bFDIlLo9m1GKpMBfJ ECFH1C_ehvHeDPLSpWJLecSP9dU3yJaIauIVKauq7oaw9WHvzBdAicR_4Z 7Blzdi-_3spEBj2xpO
3、部署成功后学习extjs官方实例。

参考地址:/deploy/ext-4.0.0/examples/#sample-4
4、熟悉布局系统。

5、熟悉简单的组件FORM、GRID。

练习:
1、实现FORM提交表单,并充分了解每个属性的意义,实现提交,实现事件
监听,Checkbox / Radio Groups、Date、Number Field等组件
2、实现GRID列表,并充分了解每个属性的意义,实现事件监听,GRID的分
组、汇总features属性,展开plugins属性,等特殊GRID。

3、实现GRID和FORM互动,参考官网例子grid——Binding a Grid to
Form。

3、以你们认为最方便的DEMO形式展现出练习1,2的内容。

建议参考官网实例的展现方式。

4、写不少于500字的学习周记。

ExtJS4MVC模式入门级开发案例李坏博客

ExtJS4MVC模式入门级开发案例李坏博客
在写完ExtJS MVC模式案例系列文章之后,考虑到各位ExtJS新手朋友们对源码需求强烈,李坏今天重新整理一份更为完善的ExtJS MVC入门级开发案例(上个案例由于当时写的仓促,有些地方写的不是太好,不再提供源码,ExtJS的新手朋友们可以参考本案例作为参考),希望对大家学习ExtJS能够提供帮助。

本文专为ExtJS的新手朋友制作,高手绕行。

有图有真相,最后实现的效果图如下:
案例实现的功能介绍:
1.完美应用ExtJS border布局,效果见上图;
2.实现TreePanel右键菜单,效果如下图:
3.动态更改TreePanel节点名称,效果如下:
修改后的结果如下:
4.实现ExtJS页面之间传参(详细请参看代码)
5.如何在controller中给页面添加监听事件
6.点击树形节点,切换页面
作为一个ExtJS的自学以及使用者,李坏觉得这是一个非常好的ExtJS MVC模式开发的入门级案例,用到了几乎所有的ExtJS的基础性知识。

如果大家对案例有任何疑问,欢迎各位留言或加Q与李坏交流!源码下载。

EXTJS(入门篇10)UsingViewsinyourApplications

Using Views in your Applications本系列文章为翻译文章,翻译自API文档,也是入门级别的文章,请初学者仔细阅读,如果翻译有不妥的地方,请谅解,如果转载请注明作者及出处。

从用户的角度看,我们的应用程序只不过是视图的集合。

尽管大多有价值的部分都在控制器和模型中,但是视图却是和用户直接交互的。

在本指导文档中,将就如何构建我们应用程序的视图展开叙述。

Using Existing Components最简单的方式就是使用Ext.create函数来创建一个已经定义好的组件。

例如我们可以创建一个特别简单的panel,仅仅包括一些html内容:该代码十分简单,只是创建一个全屏的组件,里面包含了一些文字内容。

我们可以使用该方法创建任意的内在组件,但是比较实用的方法是,我们创建该组件的子类,以便实现我们自定义:虽然看起来,结果是相同的,但是我们有了一个我们自己的类,这就是我们需要遵循的模式—创建已有组件的子类,在我们需要的时候再对它进行实例化。

让我们看看这都有些什么变化:1.Ext.define函数允许我们创建一个新的类,继承我们已经存在的类。

2.我们遵循MyApp.view.MyView的命名规则,尽管我们可以任意命名,但是最好还是遵循我们的规则,方便以后管理以及程序的简单明了。

3.我们可以再config中定义新的配置项。

我们在定义我们的全新子类的时候,可以使用超类的配置项进行配置,或者在创建的时候,把该类的配置项作为参数传递进去,以便创建:A Real World Example下面我们来看一个比较规范的视图类文件,是Twitter中的文件:该类的定义,遵循了上面我们说的模式。

我们定义了我们自己的类Twitter.view.SearchBar,继承自框架中的Ext.Toolbar。

我们在定义的时候,使用了许多的配置项,例如布局和子项数组。

该代码中使用了两个比较重要的选项:requires:因为我们在子项数组中使用了一个searchfield,那么我们就需要使用requires 来手动定义依赖关系,让系统为我们使用searchfield加载Ext.field.Search类。

无废话ExtJs入门教程五[文本框:TextField]

⽆废话ExtJs⼊门教程五[⽂本框:TextField]继上⼀节内容,我们在表单⾥加了个两个⽂本框。

如下所⽰代码区的第42⾏位置,items: [txtusername, txtpassword]。

1.代码如下:1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">2 <html xmlns="/1999/xhtml">3 <head>4 <title></title>5 <!--ExtJs框架开始-->6 <script type="text/javascript" src="/Ext/adapter/ext/ext-base.js"></script>7 <script type="text/javascript" src="/Ext/ext-all.js"></script>8 <link rel="stylesheet" type="text/css" href="/Ext/resources/css/ext-all.css" />9 <!--ExtJs框架结束-->10 <script type="text/javascript">11 Ext.onReady(function () {12//初始化标签中的Ext:Qtip属性。

13 Ext.QuickTips.init();14 Ext.form.Field.prototype.msgTarget = 'side';15//⽤户名input16var txtusername = new Ext.form.TextField({17 width: 140,18 allowBlank: false,19 maxLength: 20,20 name: 'username',21 fieldLabel: '⽤户名称',22 blankText: '请输⼊⽤户名',23 maxLengthText: '⽤户名不能超过20个字符'24 });25//密码input26var txtpassword = new Ext.form.TextField({27 width: 140,28 allowBlank: false,29 maxLength: 20,30 inputType: 'password',31 name: 'password',32 fieldLabel: '密码',33 blankText: '请输⼊密码',34 maxLengthText: '密码不能超过20个字符'35 });36//表单37var form = new Ext.form.FormPanel({38 frame: true,39 title: '表单标题',40 style: 'margin:10px',41 html: '<div style="padding:10px">这⾥表单内容</div>',42 items: [txtusername, txtpassword]43 });44//窗体45var win = new Ext.Window({46 title: '窗⼝',47 width: 476,48 height: 374,49 html: '<div>这⾥是窗体内容</div>',50 resizable: true,51 modal: true,52 closable: true,53 maximizable: true,54 minimizable: true,55 items: form56 });57 win.show();58 });59 </script>60 </head>61 <body>62 <!--63说明:64 (1)Ext.QuickTips.init():QuickTips的作⽤是初始化标签中的Ext:Qtip属性,并为它赋予显⽰提⽰的动作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ExtJs2.0学习系列(1)--Ext.MessageBox发布时间:2008-8-7大家都知道,刚开始搞extjs的时候,很是有点困难,所以本人在新手刚入门后准备了这个系列的文章。

个人认为用extjs做后台很不错,布局比较完美!1.Ext.MessageBox.alert()方法有四个参数,为简单起见,主要介绍前面三个参数:alert( title , msg , function(){} )其中title,msg为必选参数,function为可选参数,在关闭弹出窗口后触发。

Ext.MessageBox.alert("title","msg");Ext.MessageBox.alert("title","msg",function(){alert("关闭对话框后弹出!")});2.Ext.MessageBox.confirm()方法基本上同alert()方法一模一样。

注意这点:Ext.MessageBox.confirm("title","msg",function(e){alert(e);});这个参数e是什么?它是你点击的弹出框的按钮的值,三种值:yes,no,cancel.Alert()方法也是如此,不过只有两种值:ok,cancel.3.Ext.MessageBox.prompt()方法有六个参数,比前面alert方法多一个返回值和是否多行。

Ext.MessageBox.prompt("title","msg");Ext.MessageBox.prompt("title","msg",function(e,text){alert(e+"-"+text);});//输入"qianxudetianxia",点击ok按钮,弹出ok-qianxudetianxiaExt.MessageBox.prompt("title","msg",function(e,text){alert(e+"-"+text);},this,true);//true为多行,this表示作用域4.Ext.MessageBox.show()方法功能很强大,采用config配置形式,比前面的方法使用更方便。

参数很多,在此列举最常用的配置参数:1.animEl:对话框弹出和关闭时的动画效果,比如设置为“id1”,则从id1处弹出并产生动画,收缩则相反2.buttons:弹出框按钮的设置,主要有以下几种:Ext.Msg.OK,Ext.Msg.OKCANCEL,Ext.Msg.CAMCEL,Ext.Msg.YESNO,Ext.Msg.YESNOCANCEL你也可以自定义按钮上面的字:{"ok","我本来是ok的"}。

若设为false,则不显示任何按钮.3.closable:如果为false,则不显示右上角的小叉叉,默认为true。

4.msg:"消息的内容"5.title:"标题"6.fn:关闭弹出框后执行的函数7.icon:弹出框内容前面的图标,取值为,Ext.MessageBox.ERROR,Ext.MessageBox.WARNING,Ext.MessageBox.QUESTION8.width:弹出框的宽度,不带单位9.prompt:设为true,则弹出框带有输入框10.multiline:设为true,则弹出框带有多行输入框11.progress:设为true,显示进度条,(但是是死的)12.progressText:显示在进度条上的字13.wait:设为true,动态显示progress14.waitConfig:配置参数,以控制显示progressexample:Ext.MessageBox.show({title:"标题",msg:"内容的消息",buttons:{"ok":"我不再显示OK了"},fn:function(e){alert(e);},animEl:"test1",width:500,icon:,closable:false,progress:true,wait:true,progressText:"进度条"// prompt:true// multiline:true});4.Ext.MessageBox.show()中的进度条的使用首先必须知道例外两个方法 Ext.MessageBox.hide()和Ext.MessageBox.updateProgress(value,"ProgressT ext","msg")(三个参数,看名字就知道意思),注意value为0-1之间的数,表示进度条的进度.第一种:(通过进度的大小控制进度,满进度为1)Ext.get("btn1").on("click",function(){Ext.MessageBox.show({title:"df",msg:"dfd",progress:true,width:300,closable:true});var f=function(v){return function(){if(v==12){Ext.MessageBox.hide();//alert("加载完成!");}else{var i=v/11;Ext.MessageBox.updateProgress(i,Math.round(100*i)+"% completed",i);}}}for(var i=1;i<13;i++){setTimeout(f(i),i*500);//从点击时就开始计时,所以500*i表示每500ms就执行一次}});第二种:(通过固定时间控制进度加载)Ext.get("btn1").on("click",function(){Ext.MessageBox.show({title:"时间进度条",msg:"5s后关闭进度框",progress:true,width:300,wait:true,waitConfig:{interval:600},//0.6s进度条自动加载一定长度closable:true});setTimeout(function(){Ext.MessageBox.hide()},5000);//5后执行关闭窗口函数}最后关于那个waitConfig的参数,在此说明下:1.interval:进度的频率2.duration:执行进度的持续时间,超过这个时间后,interval失效,不再产生进度效果,但进度狂也不会消失。

3.fn:duration的时间到后执行的函数所以,上面的通过时间控制进度另外一种写法为:Ext.get("btn1").on("click",function(){Ext.MessageBox.show({title:"时间进度条",msg:"5s后关闭进度框",progress:true,width:300,wait:true,waitConfig:{interval:600,duration:5000,fn:function(){Ext.MessageBox.hide();//让进度条消失}},closable:true});//setTimeout(function(){Ext.MessageBox.hide()},5000);});效果一样。

MessageBox类暂且就说这么多!一起期待下一章...ExtJs2.0学习系列(2)--Ext.Panel发布时间:2008-8-7上一篇文章ExtJs2.0学习系列(1)--Ext.MessageBox,受到了大家的褒贬不一,还是有的朋友提出好的建议,在此表示感谢!今天介绍extjs中的Panel组件。

//html代码<div id="container">//js代码var p = new Ext.Panel({title: 'My Panel',//标题collapsible:true,//右上角上的那个收缩按钮,设为false则不显示renderTo: 'container',//这个panel显示在html中id为container的层中width:400,height:200,html: "<p>我是内容,我包含的html可以被执行!</p>"//panel主体中的内容,可以执行html代码});因为panel组件的子类组件包括T abPanel,GridPanel,FormPanel,TreePanel组件,所以非常有必要介绍Panel组件的配置参数和相关的属性、方法。

//配置参数(只列举部分常用参数)1.autoLoad:有效的url字符串,把那个url中的body中的数据加载显示,但是可能没有样式和js控制,只是html数据2.autoScroll:设为true则内容溢出的时候产生滚动条,默认为false3.autoShow:设为true显示设为"x-hidden"的元素,很有必要,默认为false4.bbar:底部条,显示在主体内,//代码:bbar:[{text:'底部工具栏bottomT oolbar'}],5.tbar:顶部条,显示在主体内,//代码:tbar:[{text:'顶部工具栏topToolbar'}],6.buttons:按钮集合,自动添加到footer中(footer参数,显示在主体外)//代码:buttons:[{text:"按钮位于footer"}]7.buttonAlign:footer中按钮的位置,枚举值为:"left","right","center",默认为right8.collapsible:设为true,显示右上角的收缩按钮,默认为false9.draggable:true则可拖动,但需要你提供操作过程,默认为false10.html:主体的内容11.id:id值,通过id可以找到这个组件,建议一般加上这个id值12.width:宽度13.height:高度14.titleCollapse:设为true,则点击标题栏的任何地方都能收缩,默认为false.15.applyTo:(id)呈现在哪个html元素里面16.contentEl:(id)呈现哪个html元素里面,把el内的内容呈现17.renderTo:(id)呈现在哪个html元素里面//关于这三个参数的区别(个人认为:applyTo和RenderTo强调to到html元素中,contentEl 则是html元素到ext组件中去):英文如下(本人英语poor,不敢乱翻译):contentEl - This config option is used to take existing content and place it in the body of a new panel. It is not going to be the actual panel itself. (It will actually copy the innerHTML of the el and use it for the body). You should add either the x-hidden or the x-hide-displa y CSS class to prevent a brief flicker of the content before it is rendered to the panel. applyTo - This config option allows you to use pre-defined markup to create an entire Pan el. By entire, I mean you can include the header, tbar, body, footer, etc. These elements must be in the correct order/hierarchy. Any components which are not found and need to be created will be autogenerated.renderT o - This config option allows you to render a Panel as its created. This would be t he same as saying myPanel.render(ELEMENT_TO_RENDER_TO);哪位大人帮忙翻译下...考虑到入门,方法事件会在以后的文章中以实例穿插。

相关文档
最新文档