摘要:
如果学习了Container,你回发现,在Ext2.0中,Container和Layout的关系是密不可分的。任何Container都需要在render方法中使用layout对象进行布局。 让我们先看一下所有layout的父类:ContainerLayout。 实际上,对容器及其item的渲染都是在layout对象的layout方法中实现的。而layout方法是在resize事件中触发的,... 阅读全文
摘要:
BoxComponent继承了Component,主要是实现了设置组件的宽度、高度以及位置(相对于容器或相对于document.body),他的实现较为简单,需要注意的是: 1.BoxComponent可以通过resizeEl属性设置进行调整大小的对象,positionEl属性设置调整位置的对象,并且在render事件中进行设置,将属性封装为Ext.element对象; 2.se... 阅读全文
摘要:
在这里,我们引用Ext Overview中的Component life cycle对组件的功能进行相应的总结: [list=1] 配置项对象生效: 组件对象的构造器会把全部的配置项传入到其子类中去,并且进行下列所有的步骤。 组件的底层事件创建 这些事件由组件对象负责触发。事件有enable, disable, beforeshow, show, beforehide, hide, befor... 阅读全文
摘要:
首先,让我们回忆一下对于组件的讨论: 1.只有配置了applyTo或renderTo属性才会在构建组件时立刻进行render方法的调用; 2.如果是applyTo属性,则会对component的容器进行渲染;renderTo则是对component进行渲染; 现在,让我们看一下render方法的实现: render : function(container, position){... 阅读全文
摘要:
在Ext2.0中,Component是一切Widget的父类,所有的Widget都继承与它,而他又继承自Observable,因此,它天生就具备了对于事件的处理能力。 首先,让我们看一下它的构建器,它的构建器可以传入三种类型的对象: 对象(该对象的initailConfig属性为真正的配置对象;isAction属性决定了该参数是否是一个Ext.Action对象,如果是Ext.Action对象则注册... 阅读全文
摘要:
Observable维护了一个events数组,并提供了更加方便的对于事件的封装和调用机制。同Event一样,它也提供了addListener、removeListener方法。它提供的addListenere方法使用起来更加方便,你可以通过json对象一次实现多个事件的绑定: foo.addListener({ 'click' : { fn: this.onClick, scope: ... 阅读全文
摘要:
由于Ext2.0中所有的组件都是由Observable继承而来,理解Ext就需要先从Ext.util.Observable说起,而Observable是对Event对象进行管理,从而理解Observable必须首先从Ext.util.Event说起。 Ext.util.Event是一个封装的非常精致的对象,但和你想象的不同,Event同任何的HTML DOM元素没有任何的关系(尽管Ext是处理HTML元素的),实际上,它是一个通用的事件及其事件的处理的对象。 也许有朋友要问,HTML Element本身已经支持了事件,为什么还要再重新设计一套Event机制呢?其实,基本上所有的javascr. 阅读全文
摘要:
Ext.tree.TreePanel树状控件,继承自panelconfig定义{animate : Boolean,containerScroll : Boolean,ddAppendOnly : String, /*很显然这是api的一个错误,treepanel.js中惟一用到它的地方是this.dropZone = new Ext.tree.TreeDropZone(this, this.dropConfig || { ddGroup: this.ddGroup || "TreeDD", appendOnly: this.ddAppendOnly === true }) 阅读全文
摘要:
Ext.grid.EditorGridPanel可编辑数据表格Config {clicksToEdit : Number //点几次开始编辑,默认为2}方法EditorGridPanel()构造,应为 EditorGridPanel(Object config)startEditing( Number rowIndex, Number colIndex ) : voidstopEditing() : void开始停止编辑事件afteredit : ( Object e )beforeedit : ( Object e )validateedit : ( Object e )下面我们扩展一下刚才 阅读全文
摘要:
Ext.grid.ColumnModel用于定义Grid的列用例var colModel = new Ext.grid.ColumnModel([ {header: "Ticker", width: 60, sortable: true}, {header: "Company Name", width: 150, sortable: true} ]);回到ColumnModel,它的构造参数是一个config组成的数组,其中config定义为{ align : String //css中的对齐方式 dataIndex : String //要绑定的Sto 阅读全文
摘要:
Ext.tree.TreePanel树状控件,继承自panelconfig定义{animate : Boolean,containerScroll : Boolean,ddAppendOnly : String, /*很显然这是api的一个错误,treepanel.js中惟一用到它的地方是this.dropZone = new Ext.tree.TreeDropZone(this, this.dropConfig || { ddGroup: this.ddGroup || "TreeDD", appendOnly: this.ddAppendOnly === true }) 阅读全文
摘要:
Ext.menu.Menu菜单对象config{ allowOtherMenus : Boolean //允许同时显示其它的菜单? defaultAlign : String //默认对齐方式:tl-bl? defaults : Object //默认的菜单项配置,将会应用到所有的items items : Mixed //菜单项数组 minWidth : Number //最小宽度.默认120 shadow : Boolean/String // subMenuAlign : String //子菜单对齐方式 tl-tr?}Menu( Object config )构造add( Mix... 阅读全文
摘要:
Ext.Toolbar工具栏,使用起来很简单,add已准备好的元素就行方法Toolbar( Object/Array config )构造add( Mixed arg1, Mixed arg2, Mixed etc. ) : void增加元素可以是 1:Ext.Toolbar.Button 相当于addButton2:HtmlElement 相当于addElement3:Field 相当于addField4:Item 相当于addItem5:String 相当于addText6:'separator'或'-' 相当于addSeparator7:'' 阅读全文
摘要:
Ext.form.NumberField继承自Ext.form.TextField,因为Ext.form.TextField虽然强大,但写起来的确还是有点麻烦,后面的类都继承自Ext.form.TextField,没有自定义的方法,属性和事件config定义为{ allowDecimals : Boolean //true allowNegative : Boolean //true baseChars : String //'0123456789' decimalPrecision : Number //精度,默认值2 decimalSeparator : String // 阅读全文
摘要:
Ext.form.BasicForm对应一个dom中的form,默认是用ajax提交的,如果的确想回传,可以使用如下方式var myForm = new Ext.form.BasicForm("form-el-id", { onSubmit: Ext.emptyFn, submit: function() { this.getEl().dom.submit(); } });方法:BasicForm( Mixed el, Object config )其中config配置为{baseParams : Object, //请求时的附加参数,格式为{id: '123 阅读全文
摘要:
Ext.Actionaction实现一个脱离了容器的事件,所有它可以在多个容器之间共享,不过好象只有Ext.Toolbar, Ext.Button 和 Ext.menu.Menu支持action接口:),因为容器要实现下面所有的方法setText(string), setIconCls(string), setDisabled(boolean), setVisible(boolean) and setHandler(function)方法:Action( Object config )构造,config定义为{disabled : Boolean,//禁止使用handler : Functio 阅读全文
摘要:
Ext.data.Tree继承自Observable,用于存放树装的数据结构方法Tree( [Node root] )以root为根构造Ext.data.Tree对象getNodeById( String id ) : Node由指定id得到节点getRootNode() : Node得到根节点,由属性root得到更方便setRootNode( Node node ) : Node设置根节点事件有... 阅读全文
摘要:
Ext.data.GroupingStore继承自Ext.data.Store,为Store增加了分组功能.其它用法与Store一致,惟一需要注意的是使用GroupingStore时必须指定sortInfo信息增加了配置属性 groupField : String//用于分组的字段groupOnSort : Boolean//如果为真,将依排序字段重新分组,默认为假remoteGroup : Bo... 阅读全文
摘要:
Ext.data.Storestore是一个为Ext器件提供record对象的存储容器,行为和属性都很象数据表方法:不列举继承来的方法Store( Object config )构造,config定义为{ autoLoad : Boolean/Object, //自动载入 baseParams : Object, //只有使用httpproxy时才有意义 data : Array, ... 阅读全文
摘要:
Ext.data.DataReader纯虚类,从数据源得到结构化数据转换为元数据对象,对象包含Record的集合,一般用做Store对象的元数据,具有如下格式{totalRecord:int,records:Array of Ext.data.Record}具体使用参见三个子类Ext.data.ArrayReader/Ext.data.JsonReader/Ext.data.XmlReader方法... 阅读全文
摘要:
Ext.data.DataProxy数据代理类是一个纯虚类,主要用于生成Ext.data.Record对象,没有公开的属性和方法,只是归定子类需要处理三个事件beforeload : ( Object This, Object params )load : ( Object This, Object o, Object arg )loadexception : ( Object This, Obj... 阅读全文
摘要:
Ext.data.Connection访问指定的url,这是个异步调用类,如果想得到服务器信息,请在request参数中指定callback方法或指定侦听者(对文件上传无效)Connection( Object config )构造,config定义为{ autoAbort : Boolean, defaultHeaders : Object, disableCaching : Boolean, ... 阅读全文
摘要:
Ext.KeyNavExt的keyNav类能为Ext.Element元素提供简单的按键处理方法例:var el=Ext.get("textarea");new Ext.KeyNav(el, { "left" : function(e){ alert("left key down"); }, scope : el });它的行为与KeyMap类似,但功能... 阅读全文
摘要:
Ext.Fx类对于我这样的懒鬼而言,Fx类是核心类库中最激动人心的一个类,它不是最重要的,却是最实用的一个类定义了一些常用的特效方法,不妨自己多动手试试下面的方法,很有趣的fadeIn( [Object options] ) : Ext.Element渐显 options参数有以下属性callback:Function 完成后的回叫方法scope:Object 目标easing... 阅读全文
摘要:
Ext.EventManager事件管理者中的大部分方法都在Ext中有定义,主要用于事件管理addListener( String/HTMLElement el, String eventName, Function handler,on( String/HTMLElement el, String eventName, Function handler, [Object scope], [Obj... 阅读全文
摘要:
Ext.DomQuery类selector语法详见Ext类compile( String selector, [String type] ) : Function编写一个选择器或xpath查询到一个方法以方便重用,type取select(默认)或simple值之一filter( Array el, String selector, Boolean nonMatches ) : Array过滤el中... 阅读全文
摘要:
Ext.Element类Element( String/HTMLElement element, [Boolean forceNew] )由id或DOM节点创建Element对象Element.fly( String/HTMLElement el, [String named] ) : Element由id或DOM节点创建一个全局共享的活动元素,可由named命名以避免可能的冲突Element.g... 阅读全文
摘要:
Array类indexOf( Object o ) : Numberobject是否在数组中,找不到返回-1;找到返回位置remove( Object o ) : Array从数组中删除指定的对象object,如果找不到object则数组无变化Number类constrain( Number min, Number max ) : Number检查数值是否介于min与max之间, 如果大于max ... 阅读全文
摘要:
Ext类addBehaviors( Object obj ) : void对选择的元素 应用事件侦听器,事件名以@附加在结尾,例如addBehaviors({ // id=foo下所有的a标签加入click事件 '#foo a@click' : function(e, t){ // do something }, // 用,分隔多个选择器 '#foo a, #bar... 阅读全文
摘要:
Ext2.0的选择需要冒很大的风险,确实Ext在界面上能够有很大的提升,但是客户端机器的性能和网络方面的制约,再加上Ext本身没有很好的实现工具支持。从编码角度来说,可能需要花费更多的时间,这相对于直接的Web开发。如果项目中缺少美工,又对访问性能或并发量不是特别的要求的Web开发,可以考虑使用,譬如说安全设备的控制界面。当然项目组成员必须忍受大量javascript编码。 一般来说,Ext使用如... 阅读全文