`
wjm901215
  • 浏览: 153553 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Extjs layout 总结

阅读更多

1.column Layout 列布局

在子元素中指定使用columnWidth或width来指定子元素所占的列宽度。columnWidth表示使用百分比的形式指定列宽度。width则是使用绝对象素的方式指定列宽度,在实际应用中可以混合使用两种方式。

 

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->Ext.onReady(function(){ var window = new Ext.Window({ layout: "column", title: "Hello World", id: "helloWorldWindow", bodyStyle: "padding:10px;", width: 550, height: 300, x: 100, y: 100, items: [ { columnWidth: .6, baseCls: "x-plain", frame: true, layout: "form", bodyStyle: "padding:5px;", items: [ {xtype: "textfield", fieldLabel: "UserName"}, {xtype: "textfield", fieldLabel: "Age"} ] }, { columnWidth: .3, baseCls: "x-plain", bodyStyle: "padding:5px;", items: [ {xtype: "textarea"} ] }, { columnWidth: .1, baseCls: "x-plain", bodyStyle: "padding:5px;", layout: "form", items: [ { xtype: "button", text: "Ok", handler: function() { alert("OK"); } }, { xtype: "button", text: "Cancel", handler: function() { alert("Cancel"); } } ] } ] }); window.render(Ext.getDom("tt")); window.show(); });

 

2.fit Layout 

Fit布局,子元素将自动填满整个父容器(对元素设置宽度无效),如果容器组件中有多个子元素,则只会显示第一个子元素。
Ext.onReady( function(){ var win = new Ext.Window({ title: "Hello World", renderTo: Ext.getDom("tt"), width: 400, height: 250, x: 150, y: 50, layout: "fit", items: [ {xtype:"panel", title:"O"}, {xtype:"panel", title:"K"} ] }); win.show(); } );

 

3. border Layout

一、Border布局由类Ext.layout.BorderLayout定义,布局名称为border。该布局把容器分成东南西北中五个区域,分别由east,south, west,north, cente来表示,在往容器中添加子元素的时候,我们只需要指定这些子元素所在的位置,Border布局会自动把子元素放到布局指定的位置。
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->Ext.onReady( function() { new Ext.Viewport({ layout:"border", items:[ { region:"north", height:80, xtype: "label", //style: "border: 1px solid red;padding:1px;", frame: true, text: "cdred.net study club" }, { region:"south", height:20, xtype:'label', text:'Status show zone..' }, { region:"center", title:"中央面板" }, { region:"west", width:200, title:"系统栏目", collapsible: true }, { region:"east", width:150, collapsed: true, collapsible: true, title:"在线好友" } ] }); } );

 

4.accordion Layout

Accordion布局由类Ext.layout.Accordion定义,表示可折叠的布局,点击每一个子元素的头部名称或右边的按钮,则会展开该面板,并收缩其它已经展开的面板。
layoutConfig:true表示在执行展开折叠时启动动画效果,默认值为false。

 

** 注意如果你是用 panel之类的 必须拥有 title:'' 属性

 

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->Ext.onReady(function(){ var panel = new Ext.Panel({ title:"人员信息", renderTo:Ext.getDom("tt"), frame:true, width:250, height:300, layout:"accordion", layoutConfig: { animate: true }, items:[ {xtype:"panel", title:"O", html:"这是子元素1中的内容"}, {xtype:"panel", title:"K", html:"这是子元素2中的内容"}, {xtype:"panel", title:"L", html:"这是子元素3中的内容"} ] }); });

 

 

5 form Layout

Form布局由类Ext.layout.FormLayout定义,名称为form,是一种专门用于管理表单中输入字段的布局,这种布局主要用于在程序中创建表单字段或表单元素等使用。

hideLabels:tru表示隐藏标签,默认为false。
labelAlign:标签队齐方式left、right、center,默认为left。

在实际应用中,Ext.form.FormPanel这个类默认布局使用的是Form布局,因此我们直接使用FormPanel即可。

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->Ext.onReady( function() { var panel = new Ext.Panel({ layout:"form", title: "HelloWorld", renderTo:Ext.getDom("tt"), width: 400, height:250, frame: true, hideLabel: true, collapsible: true, bodyStyle: "padding:20px;", defaultType:"textfield", items:[ {fieldLabel:"Hello"}, {fieldLabel:"World"} ] }); } );

 

 

6 table Layout

 

Table布局由类Ext.layout.TableLayout定义,类以于html中的table,可以对行或列进行合并。
layoutConfig使用columns指定父容器分成3列,
rowspan合并行数目。
colspan合并列数目。
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->Ext.onReady(exe); function exe() { var panel = new Ext.Panel({ title: "Hello World", layout: "table", width: 500, height: 300, bodyStyle:'padding:20px;', layoutConfig: { columns: 3 }, items: [ {xtype:"panel", title:"hello", html:"hello context", rowspan:2, height: 100}, {xtype:"panel", title:"world", html:"world context", colspan:2}, {xtype:"panel", title:"cheng", html:"cheng context"}, {xtype:"panel", title:"du", html:"du context"} ] }); panel.render(Ext.getDom("tt")); }

 

7 card Layout
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->Ext.onReady(function() { var i = 0; var navHandler = function(direction){ i += direction; Ext.getCmp("card").getLayout().setActiveItem(i); if (i == 2) { Ext.getCmp("move-next").setDisabled(true); } else if (i == 0) { Ext.getCmp("move-prev").setDisabled(true); } else { Ext.getCmp("move-next").setDisabled(false); Ext.getCmp("move-prev").setDisabled(false); } }; var card = new Ext.Panel({ id: "card", title : 'Example Wizard', layout : 'card', activeItem : 0, bodyStyle : 'padding:15px', defaults : { border : false }, bbar : [{ id : 'move-prev', text : 'Back', handler : navHandler.createDelegate(this, [-1]), disabled : true }, '->', { id : 'move-next', text : 'Next', handler : navHandler.createDelegate(this, [1]) }], items : [{ id : 'card-0', html : '<h1>Welcome to the Wizard!</h1><p>Step 1 of 3</p>' }, { id : 'card-1', html : '<p>Step 2 of 3</p>' }, { id : 'card-2', html : '<h1>Congratulations!</h1><p>Step 3 of 3 - Complete</p>' }] }); card.render(Ext.getDom("tt")); });

 

8 absolute Layout

 

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->Ext.onReady(exe); function exe() { var form = new Ext.form.FormPanel({ title : 'Absolute Layout', frame : true, layout : 'absolute', x: 100, y: 40, height: 500, layoutConfig : { extraCls : 'x-abs-layout-item' }, defaultType : 'textfield', items : [{ x : 0, y : 5, xtype : 'label', text : 'Send To:' }, { x : 60, y : 0, name : 'to', anchor : '100%' }, { x : 0, y : 35, xtype : 'label', text : 'Subject:' }, { x : 60, y : 30, name : 'subject', anchor : '100%' }, { x : 0, y : 60, xtype : 'textarea', name : 'msg', anchor : '100% 100%' }] }); form.render(Ext.getDom("tt")); }
分享到:
评论

相关推荐

    extjs 常用控件的使用 table layout

    总结起来,EXTJS 的Table Layout是一种强大的布局工具,用于构建有规律、行列分明的用户界面。掌握EXTJS的控件使用和Table Layout,可以帮助开发者高效地创建出专业且用户友好的前端应用。在实际开发过程中,应根据...

    Extjs学习—总结的extjs的一些常用小知识点

    ### Extjs 学习——总结的一些常用知识点 #### 一、概述 Extjs 是一个用于构建 Web 应用程序的强大框架,它提供了大量的 UI 组件和功能,可以帮助开发者快速搭建出高质量的应用界面。本文将根据一个月的学习经验,...

    ExtJS 4 技术详解,全面解析ExtJS 4

    总结来说,ExtJS 4的Accordion布局和Border布局是两种非常实用的布局模式,它们能够帮助开发者创建出灵活多样的用户界面。Accordion布局适合有限的空间内展示多个面板,而Border布局则适用于需要分割屏幕并进行动态...

    EXTJS 选下拉框,并取得下拉框的值

    总结一下,EXTJS中的下拉框(ComboBox)是通过`Ext.form.field.ComboBox`实现的,可以通过设置`store`、`displayField`和`valueField`来定义选项和获取选定值。使用`getValue()`方法可以获取选定的值,而`select`...

    ExtJs各个版本2-6API汇总.zip

    总结来说,这个压缩包是学习和开发ExtJS应用的宝贵资源,涵盖了从基础到高级的各种知识,包括组件使用、数据绑定、布局管理、MVC架构、触摸支持、多平台适配等多个方面。无论是初学者还是经验丰富的开发者,都能从中...

    ExtJS3.2列布局

    总结来说,ExtJS3.2的列布局是一个强大的工具,能够帮助开发者轻松地构建多列的form表单。配合灵活的样式定制,可以实现美观且功能丰富的用户界面。理解并熟练运用这一布局模式,对于提升Web应用的用户体验至关重要...

    extjs实践大量实例讲解

    ### 总结 通过以上这些示例,我们可以看到 ExtJS 提供了非常丰富的功能来帮助开发者构建复杂的 Web 应用程序。无论是基础的 UI 构件还是高级的数据处理功能,ExtJS 都能很好地支持。希望这些示例能够为你学习和使用...

    extjs 弹窗的简单实例

    总结,这个“extjs 弹窗的简单实例”主要介绍了如何在ExtJS项目中创建和使用弹窗组件,以及如何在控制器中响应用户交互来控制窗口的生命周期。通过学习和实践这个实例,开发者可以更好地理解和运用ExtJS的强大功能,...

    Extjs测试题

    由于提供的信息较为碎片化,下面将对提供的信息进行系统的梳理,总结出相关的知识点。 1. ExtJS必需引入的文件:开发ExtJS应用时需要引入的核心文件包括ext-base.js,它是ExtJS的基础核心文件,提供了框架的基础...

    ExtJS 3.2的中文参考手册

    ### ExtJS 3.2 的中文参考手册知识点详解 #### 1. **EXT简介** - **定位**: 作为一款强大的...以上内容是对ExtJS 3.2中文参考手册的关键知识点进行了详细的解析和总结,希望能对学习ExtJS的开发者有所帮助。

    ExtJS3.3版本的BUG

    根据提供的信息,我们可以总结出以下知识点: ### 一、问题背景 在ExtJS 3.3版本中,用户报告了一个关于`Window`组件的问题。该问题表现为:当使用`Window`组件并尝试通过按钮点击事件获取`Window`的标题时,结果...

    extjs上方动态导航栏

    总结,创建ExtJS上方动态导航栏涉及创建`Ext.toolbar.Toolbar`实例,动态添加和移除元素,实现响应式设计,以及应用主题和样式。同时,理解项目中的其他组件(如`WindowLite`和`base`)如何与导航栏配合也是关键。...

    Extjs生成主界面

    - **Layout**:选择`border`布局,这种布局非常适合用于构建具有多个区域(如顶部、底部、左侧等)的复杂界面。 3. **顶部占位符**:为了实现顶部导航栏的功能,我们需要创建一个占据Viewport顶部位置的占位符。 ...

    Extjs4.2 根据不同的数值设置tabpanel行的背景颜色

    #### 四、总结 通过以上步骤,我们不仅学习了如何在ExtJS 4.2中根据不同数值设置TabPanel中GridPanel行的背景颜色,而且还了解了如何利用CSS和JavaScript结合来实现灵活多变的界面效果。这种方法不仅适用于数值类型...

    extjs中Ext.Panel和TreePanel 组件动态加载本地页面数据

    总结来说,`Ext.Panel`和`TreePanel`在EXTJS中是两个关键的组件,它们支持动态加载本地数据,提高了用户体验。理解这两个组件的工作原理和如何利用`Store`、`Ajax`、`TreeStore`进行数据加载,是EXTJS开发中的重要...

    Extjs4开发笔记(收集整理).pdf

    总结而言,Extjs4开发笔记提供了开发一个基于Extjs4框架和MVC模式的员工管理系统的过程和细节。作者从准备工作讲起,到环境配置、目录结构、文件分离,再到框架搭建,每个环节都详细记录了其开发经验和遇到的问题。...

    Extjs4.0开发笔记

    2. 引入CSS文件以美化界面,如布局样式(layout)和区域(region)的设置,需要对EXTJS4的API和文档有充分理解。 3. 主要文件main.js放在/app/controller下,作为项目的核心。 4. 其他JS文件负责填充页面内容,实现...

    ExtJS 3.1 下拉框 与aps.net绑定使用

    总结来说,ExtJS 3.1的下拉框结合ASP.NET可以实现灵活的数据绑定和交互,为Web应用程序提供动态、丰富的用户体验。通过理解Store、Display Field、Value Field以及Query Mode等核心概念,你可以根据实际需求定制出...

    extjs4.0整套开发工具

    3. **布局(Layouts)**:EXTJS 4.0 的布局系统进行了优化,支持更多的布局类型,如表单布局(Form Layout)、绝对布局(Absolute Layout)、瀑布流布局(Masonry Layout)等,让开发者能够轻松创建复杂页面结构。...

Global site tag (gtag.js) - Google Analytics