文档库

最新最全的文档下载
当前位置:文档库 > Ext-window属性

Ext-window属性

Ext.Panel API翻译-------Window属性

activeItem : String/Number

用于设置当前活动的子组件,取值为此子组件的序号或者是id。但是它只能应用于那种一次只能显示一个子组件的布局类,例如:http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.Accordion, http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.CardLayout和http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.FitLayout。

allowDomMove;Boolean

是否可以在组件呈现的过程中移动组件的dom节点。默认值为true。

animCollapse : Boolean

设置是否在面板收缩时起用动画,如果Ext.Fx有效(被包含进来)则默认为true,否则为false。

applyTo:Mixed

x-panel对应的div的id。

autoDestroy : Boolean

如果要把一个子组件从panel中移除且此值为true,则在移除的过程中自动会销毁此组件,返之,则不会,必须要手工销毁,默认值为true。

autoHeight : Boolean

如果为true,把this.el.dom.style.height='auto'。默认值为false。

autoScroll : Boolean

为true时,则把this.body.dom.style.overflow='auto'。默认值为false。

autoShow : Boolean

为true时,检查组件是否被设成隐藏,如果有,则移除这个效果。

autoWidth : Boolean

同autoHeight一样。。

baseCls : String

this.baseCls的class(默认值为'x-panel')

bbar : Object/Array

面板底部的工具栏。它可是一个Ext.Toolbar对象,也可以是一个toolbar的config对象,或者是一个要加入到工具栏的按钮的config的数组。注意:这个属性在render后就无效了,如果要在render后使用它,请使用getBottomToolbar获得引用。

bodyBorder : Boolean

如果为true则为this.el对应的元素显示边框,默认值为true。这只在border==true时才有

效。如果border==true且bodyBorder==false,那么将显示1px的inset边框。给予this.el inset 的效果。

bodyStyle : String/Object/Function

要应用到this.el上的css class。它的格式需求与Ext.Element.applyStyle一样,默认值为null。

border : Boolean

也是设this.body的边框的,默认值为true,此时,默认情况下边框为2px。当然,它还会被bodyBorder影响。

buttonAlign : String

加入到面板中的按钮的对齐方式,合法值为:'right','left','cente',默认值为'right'。

buttons : Array

Ext.Button的config数组,用于加入按钮到面板的footer中。

cls : String

this.el的class。

collapseFirst : Boolean

当显示title bar时,是否总把收缩、展开按钮放在所有其他按钮的前面。默认值为true。

collapsed : Boolean

在呈现时,是收缩还是展开。为true则收缩,默认值为false。

collapsedCls : String

当面板处于收缩状态时,this.el所对应的class,默认值为'x-panel-collapsed'。

collapsible : Boolean

此面板是否可收缩或者说是否能显示收缩、伸展按钮。真为显示。默认值为false。

contentEl : String

一个已存在的dom的id。作用是用于在afterRender后把它this.body.dom.appendChild掉。默认值为''。

ctCls : String

设this.container的class。

defaultType : String

当在构造函数中用items填加新成员时,如果没有设xType,那么就会以这个默认类型为xType加入组件。默认值为'panel'。

defaults : Object

加入此组件的所有子组件的默认config。如果这些加入的子组件设了config的话就以新设的为准。例如:{bodyStyle:'padding:15px'}。

disabledClass : String

当组件被设成disabled时的css,默认值为:"x-item-disabled"。

draggable : Boolean

是否能被拖动。默认值为false。当然也可以是一个Ext.Panel.DD config。Ext.Panel.DD是一个internal但非公开的类(我没有找到它的源代码),它的作用是移动一个proxy元素(Element)以代替本应跟随鼠标移动的panel.el。但是它在拖动过程中、放下时不提供任何其他动作,也就是说,如果你不作处理的话,鼠标一松,panel仍然在老地方。它是Ext.dd.DragSource 的子类,所以,必须通过实现Ext.dd.DragDrop的方法来产生动作。示例代码如下:

new Ext.Panel({

title: 'Drag me',

x: 100,

y: 100,

renderTo: Ext.getBody(),

floating: true,

frame: true,

width: 400,

height: 200,

draggable: {

// Config option of Ext.Panel.DD class.

// It's a floating Panel, so do not show a placeholder proxy in the original position. insertProxy: false,

// Called for each mousemove event while dragging the DD object.

onDrag : function(e){

// Record the x,y position of the drag proxy so that we can

// position the Panel at end of drag.

var pel = this.proxy.getEl();

this.x = pel.getLeft(true);

this.y = pel.getTop(true);

// Keep the Shadow aligned if there is one.

var s = this.panel.getEl().shadow;

if (s) {

s.realign(this.x, this.y, pel.getWidth(), pel.getHeight());

}

},

// Called on the mouseup event.

endDrag : function(e){

this.panel.setPosition(this.x, this.y);

}

}

}).show();

elements : String

一个panel有五个部分:header、tbar、body、bbar、footer。elements就是保存当前panel 包含了几个部分,例如,一个panel有header、body,那么:element=='body,header',默认值为:'body'。

floating : Boolean

为true的话,它会使panel.el.style.position=absolute。并且,默认情况下带有shimming和shadow。为false则不改变原有显示方式。

注意:把floating设为true会导致panel以offsets大量负偏移的方式隐藏。这个诸位试一下就晓得了。所以呢,如果设了floating=true。那么,你render后最好还要setPostion(x,y)一下。当然如果你让面板浮动,也要把width设成一个固定值,不然,它会向右扩展到viewport 的边缘。

footer : Boolean

为true则明确地创建footer,为false就不创建,默认情况下,如果对footer没有什么特殊的,那么当一个或多个按钮被加到footer上面时,footer会被自动创建。

frame : Boolean

为true的话呢就就在panel外面加上自定义的圆角边框,为false的话就是1px宽的长方形边框。

header : Boolean

为true时header被创建,反之不被创建,默认情况下,当header不处于特殊情况时,如果title被设置,它会被自动创建,否则不会被创建,如是果title被设置,但是header为false,那么header也不会被创建。

headerAsText : Boolean

为真是在header中显示title,为假时隐藏它。默认值为true.

height : Number

panel的高度,默认为auto。

hideBorders : Boolean

为true时,隐藏panel的所有子组件的边框,为false则尊从子组件原有边框设置。

hideCollapseTool : Boolean

当collapsible=true且hideCollapseTool=true时,则隐藏控制收缩、伸展的那个按钮,为false 时就显示它,默认值为false。

hideMode : String

隐藏模式,有三种:"visibility" (css visibility), "offsets" (negative offset position) and "display" (css display) - defaults to "display"。

hideParent : Boolean

用于设置是否隐藏组件的容器,即component.container。

html : String/Object

一个html碎片,或者是满足DomHelper语法的object,它用于设置panel的body部分的内容。默认值为''。

iconCls : String

用于设置header上的图标的class。例如:.my-icon { background: url(../images/my-icon.gif) 0 6px no-repeat !important;}

id : String

一个为component统一分配的id值。默认值为panel.el.id。

items : Mixed

单个成员或一个子组件的数组。每个成员都可以是任何从http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlponent继承的object。

它的成员可以是component的引用,这样就会马上render,也可以是component的config。这时就会lazy render。当然,在config中,要注意加上xtype。这个东西不用讲了吧。

关于xtype的所有取值情况,请见http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlponent.xtype的config说明。里面有讲到。关于它的值,其实很多例子上都有,如果传一个成员,则像:items:{……},传多个的话呢,就像:[{……},{……}]。

keys : Object/Array

一个keyMap config object。用于设置快捷键的。默认值为null。

layout : String

设置panel.container的布局。如果没有设置,那么默认为http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.ContainerLayout,合法的值有:absolute, accordion, anchor, border, card, column, fit, form和table。如果要设置布局的细节,则要用到layoutConfig了。

layoutConfig : Object

用于设置布局细节的,当layout有合法设置时它才有效果。如果要知道关于这个config的设置细节,请见各布局类:

http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.Absolute

http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.Accordion

http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.AnchorLayout

http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.BorderLayout

http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.CardLayout

http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.ColumnLayout

http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.FitLayout

http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.FormLayou

http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlyout.TableLayout

listeners : Object

一个config对象用于包含一个或多个事件handler,它被addListener使用来注册事件。

maskDisabled : Boolean

是否在panel.disabled的时候显示mask。为true显示。反之不显示。

默认情况下,panel哪怕在disabled时,它的子元素也显示得很正常,用户根本不知道这个panel被禁用了,这给用户带来困扰,但是,有了mask,用户就能得到提示,哦,这个panel 是不可用的,被禁用了。这给用户带来了新的体验。

minButtonWidth : Number

panel上所有按钮的最小宽度,单位是px。

monitorResize : Boolean

为true时,它自动监控window的resize事件,并且让viewport因此而变化。这个东西的经典应用就是为layout服务,而不用我们手工去调整某些组件的大小来适应窗口大小的变化。

overCls : String

当鼠标放到panel.el上面时的class。最爽的是,当鼠标out时,它会被自动删除,从而产生hover效果。

pageX : Number

组件相对于页面的x坐标

pageY : Number

组件相对于页面的y坐标

plugins : Object/Array

一个对象或对象数组,它为component提供自定义的功能。每个对象都是一个插件的引用,当然,前提是这个插件定义了init方法,在component初始化时,这个init方法将被调用。没用着。不说了。难翻译啊。

renderTo : Mixed

Ext.get(panel.renderTo)就是panel.container。用语言说不清楚,这样直接了当。

shadow : Boolean/String

为true就给panel显示一个阴影,为false不显示。当然,也可设置成为shadow的类型,详情见Ext.Shadow、Ext.Shadow.mode。注意,这个选项只有在floating = true时才发生作用。

shadowOffset : Number

阴影偏移,默认值为4,只有在floating = true时才发生作用。

shim : Boolean

是否为组件创建shim,什么是shim呢?存在这样的情况,用div做的菜单,但是,好死不死有个applet或flash盖在上面的话,那菜单就会被盖在下面。这件事情曾经一度让b/s人员郁闷,ext提供一个通用的解决方案,在要避免这个问题的组件的同一位置创建一个与它大小一样的iframe,且使得这个组件的z-index大于iframe。由于iframe不会被其他东西遮住,所以,z-index在iframe之上的东西也不会被遮,iframe相当于个垫子,把我们要用的东西垫高了,而shim英语里面也是薄垫片的意思。高呼extjs万岁。当然,iframe的src必须为''。

stateEvents : Array

事件数组,当这此事件触发时,组件状态被保存。

stateId : String

用于管理组件状态的id,默认值为组件的id.

stateful : Boolean

一个标志,它表示组件在创建时是否从某个地方加载组件状态。哪些属性能作为状态保存呢?只有internal属性可以。

为了让组件状态能保存,组件状态管理器提供者必须实现Ext.state.Provider,也就是要实重写它的set、get方法以保存/重读键/值对,一个内键的提供者是:Ext.state.CookieProvider。

为当前页面设置状态提供者的方法如下:

Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

组件试图在stateEvents里面配置了事件时保存状态。你可以自己写点代码进行一处理,如在:beforestaterestore, staterestore, beforestatesave和statesave事件的处理代码中。

style : String

一个应用于panel.el上的样式,语法必须满足Ext.Element.applyStyles的接口。

tabTip : String

当panel是Ext.TabPanel中的一页时,为这个panel设tooltips的。不过,在render之前得先调用Ext.QuickTips.init()初始化一下。

tbar : Object/Array

panel顶部的工具栏,它可以是一个Ext.Toolbar,也可以是一个按钮数组或一个按钮的config。注意:在render之后,这个引用就没用了。如果要处理它请使用getTopToolbar。

title : String

显示在panel的header中的标题,当title被设置时,header就会被创建,除非header被设成false。如果你需要title,但不是在panel创建时,而是在之后的某个时刻,这时你需要为title 设置一个非空值(如一个空格)或者是把header设为true。这样,panel在创建时才会创建header,不然,header将不会被创建。

titleCollapse : Boolean

当collapsible = true且titleCollapse=true时,用户点击panel标题栏的任意一处都会产生折叠/伸展效果,否则则只能通过单击那个按钮(上文有讲到)来产生这个效果了。

tools : Array

一个工具栏按钮数组,这个工具栏非同一般哦,不是tbar,也不是bbar,而是header上的标题栏,header上的标题栏是怎样的概念?你看到的panel的关闭按钮这个钮,超爽吧。每个工具栏元素以一个Element引用的方式向开发人员公开,通过

tools.的方式引用。暴爽。

每个工具栏成员的config要包含下面属性:

id:string

必需的,工具栏按钮的类型,可取值如下:

toggle (Created by default when collapsible is true)

close

minimize

maximize

restore

gear

pin

unpin

right

left

up

down

refresh

minus

plus

help

search

save

print

handler : Function

必需,当按钮被单击时被执行。它的参数说明如下:

event:Ext.EventObject

toolel:Ext.Element

Panel : Ext.Panel宿主panel

scope : Object

qtip:String/Object

一个tips字符串或者是tips config,用于Ext.QuickTip.register.

hidden : Boolean

on : Object

自定义事件处理器的config,为addListener所用。

示例如下:

tools:[{

id:'refresh',

qtip: 'Refresh form Data',

// hidden:true,

handler: function(event, toolEl, panel){

// refresh logic

}

}]

注意:除了toggle之外,其他工具栏成员都只是提供一个可视化的图标,没有任何功能,所以,如果你要加入它们,得自己写处理函数。

width : Number

component的宽度,单位用px,默认值为:auto。

x : Number

获得组件的x,相当于panel.el.style.left

xtype : String

这个东西不用说了,见http://www.wendangku.net/doc/ef9091e9998fcc22bcd10db0.htmlponent的config里面的xtype。

y : Number

与x同理。

?14:00

?浏览(348)

?评论(1)

?分类:ExtJs学习

?收藏

2008-07-29

缩略显示

ExtJs 的一些技巧与问题

1.修改列表(grid)里store的加载url

grid.getStore().proxy.conn.url = "xxx.jsp";

grid.getStore().reload();

2.Ext.data.Store里baseParams与Store.load({params:{}})的区别:baseParams里的参数是一直存在的,而params里的参数,只有load时

才会传递过去,当调用reload时参数就不存在了

3.使Window以页面的相对大小显示

height: document.body.clientHeight * xx%

width: document.body.clientWidth * xx%

4.Ext.FormPanel load(自动加载) 时的json格式

{data:[{a:'a'},{b:'b'}]},其中data是规定的,不能更改名称

假如不为data的话,比如{root:[{a:'a'},{b:'b'}]},那么form 是自动加载不进去的,这时你需要在Ext.FormPanel里添加

reader属性,如:

reader: new Ext.data.JsonReader({

totalProperty: 'totalProperty',

root: 'root'

},[

{name:'a'},

{name:'b'}

])

这样做的好处是可以手动选择想加载的字段!

5.获得iframe的方法

var ifr_window = window.frames["name/id"];

6.制作表单的时候,经常form组件显示不出来或不正常其中有两个原因id冲突,这个问题经常由重用引起的

布局,form组件只有在'form'布局才显示正常,应添加layout:'form' 7.Ext.WindowGroup 负责把window 归入一组,方便管理;

var wgroup = new Ext.WindowGroup();

var win=new Ext.Window({

title:"窗口"

width:400,

height:300,

manager:wgroup});

//接下来就可以利用wgroup对这一组window进行操作啦!如

1、隐藏全部window

wgroup.hideAll();

8.Js 两个定时器

//将执行一次Expression

setTimeout(Expression,DelayTime)

//每隔DelayTime,执行一次

setInterval(expression,delayTime)

9.早上想找一个刷新树的方法,找了TreePanel,TreeLoader都没找到,

结果发现只有根结点才有reload方法!

10.今天测试了一下,Ext除了用html显示图片外还可以用下面的autoCreate方式在form 里显示,代码如下:

{

fieldLabel: '海报',

autoCreate:{

tag: "input",

type: "image",

src: "images/add.gif",

width: 150,

height: 200,

autocomplete: "off"

}