2012-11-28 11:08题主

如何实现EXTJS扩展功能

比如我想在系统中模拟 layout:'column',
但在系统中找不到:columnWidth 属性,请教如何在系统中实现?

系统中已做操作:
{"id":"module","title":"Column","xwlMeta":"module","children":[{"id":"panel1","height":317,"xwlMeta":"panel","width":574,"layout":"column","children":[{"id":"panel2","height":300,"xwlMeta":"panel","width":112,"y":0,"x":0},{"id":"panel3","height":296,"xwlMeta":"panel","width":248,"y":0,"x":112},{"id":"panel4","height":296,"xwlMeta":"panel","width":200,"y":0,"x":360}],"y":"10","x":"10"}]}

EXTJS 代码:

Ext.application({

     name:"HelloExt",

    launch:function () {

        Ext.create('Ext.panel.Panel', {         

            title: 'Column Layout - 按比例',        

            width: 350,         

            height: 250,

            x:20,

            y:100,   

            layout:'column',    

            items: [{             

                title: 'Column 1',            

                columnWidth: .25        

            },{             

                title: 'Column 2',            

                columnWidth: .55        

            },{             

                title: 'Column 3',            

                columnWidth: .20        

            }],         

            renderTo: Ext.getBody()    

        });

    }

});
2012-11-28 14:53#1
添加Panel,设置layout为column,
在Panel下添加panel1,panel2,panel3,设置各个子panel的tagProperties属性为columnWidth:.25并设置title
不要打开表单设计器,直接在组件树上添加子panel就行(否则会添加多余的坐标信息)
如果你想添加自定义的脚本,可添加clientScript控件,在headerScript中编写任何你想加的脚本,该脚本也可动态在服务器端生成(使用{#script#}这种语法即可引用服务器端的变量)
每个基于ExtJS的控件都有tagProperties和tagEvents属性,前者可编写任何扩展的属性定义,后者可编写任何扩展的事件定义。
如在tagProperties中可编写 layout:{type: 'vbox',align: 'left'},more...
layout属性默认为字符型你也可以加前缀@变成表达式类型,如:
panel的layout属性可设置为 @{type: 'vbox',align: 'left'}
另外,你也可以打开组件编辑器来定义组件的属性和事件列表。

返回开发者社区