`

Ext表单布局

    博客分类:
  • Ext
ext 
阅读更多

默认的平铺布局

如果不进行任何设置,将控件加入到表单中,就是自上而下的平铺布局。

如:

var form = new Ext.form.FormPanel({

title:"默认布局",

width:500,

defaultType:"textfield",

items:[

{fieldLabel:"标签1"},

{fieldLabel:"标签2"},

{fieldLabel:"标签3"}

],

buttons:[

{text:"确定"}

],

renderTo:"defaultFormLayout"

});

Form中的标签默认使用左对齐方式,有top、left、right3个值可以选择。

通过labelAlign设置标签对齐方式,通过labelWidth设置标签宽度。

 

 

21.2平行分列布局

使用layout:form指明要使用列布局,在items中使用columnWidth指定每列所占宽度的百分比。

使用列布局,就不能使用defaultType指定默认的xtype了,每一列也必须手动指定layout:form,这样才能在每列正常显示标签和输入框。

 

示例:

var form = new Ext.form.FormPanel( {

title:"列布局",

width:500,

layout:"column", // 列布局

labelAlign:'right',

labelWidth:55,

frame:true,

items:[

{

columnWidth:0.33,

layout:'form',

items:[

{fieldLabel:"AAA2",xtype:"textfield",name:"a"},

{fieldLabel:"AAA3",xtype:"textfield",name:"d"},

{fieldLabel:"AAA4",xtype:"textfield",name:"e"}]},

{

columnWidth:0.33,

layout:'form',

items:[

{fieldLabel:"BBB",xtype:"textfield",name:"b"}]},

{

columnWidth:0.33,

layout:'form',

items:[

{fieldLabel:"CCC",xtype:"textfield",name:"c"}]}

],

buttons:[

{text:"确定",handler:function() {

form.getForm().submit();

}}

],

renderTo:'columnFormLayout'

});

效果:

21.3.使用默认布局和分列布局实现复杂布局

/**

*AAA|BBB为一列,CCC|DDD|EEE为一列,这2个使用列布局。

*AAA&BBB这个整体使用column布局,AAA/BBB使用form布局。(自上而下布局)

*CCC&DDD&EEE这个整体使用column布局,CCC/DDD/EEE使用Form布局。

*TextArea使用Form布局。

*/

 

Ext.onReady(function() {

var form = new Ext.form.FormPanel({

title:"使用默认布局和分列布局实现复杂布局效果",

width:750,

frame:true,

labelAlign:"right",

labelWidth:60,

items:[

{

layout:"column",

items:[

{

layout:"form",

columnWidth:0.5,

defaultType:"textfield",

items:[

{fieldLabel:"AAA"},

{fieldLabel:"BBB"}

]

},

{

layout:"form",

columnWidth:0.5,

defaultType:"textfield",

items:[

{fieldLabel:"CCC"},

{fieldLabel:"DDD"},

{fieldLabel:"EEE"}

]

}

]

},

{

layout:'form',

xtype:"textarea",

fieldLabel:"TextArea",

width:600,

height:150

}

],

buttons:[

{text:"OK",

handler:function() {

form.getForm().submit();

}}

],

renderTo:'columnDefaultFormLayout'

});

});

 

效果:

 

21.4.在布局中使用FieldSet

在标准HTML中可以使用fieldset来显示分组效果,虽然Ext中表单已经很漂亮了,但是依然可以使用fieldset来实现分组效果。

 

示例:

var form = new Ext.form.FormPanel({

title:"FieldSet实现分组效果",

width:550,

labelWidth:60,

labelAlign:"right",

items:[

{

layout:"column",

items:[

{

columnWidth:0.5,//分组1占一行的宽度的50%

layout:"form", // 分组中的每一列使用默认布局

xtype:"fieldset", // 分组

title:"分组1", // 分组名称

autoHeight:true, // 自动高度

items:[

{xtype:"textfield",fieldLabel:"TextField1"},

{xtype:"textfield",fieldLabel:"TextField2"}

]

 

},

{

columnWidth:0.5,//分组2占一行的宽度的50%

layout:'form',

xtype:'fieldset',

title:"分组2",

autoHeight:true,

style:"margin-left:20px", // 与分组1之间保留点空隙,防止与分组1挨着,这样好看些

items:[

{xtype:"textfield",fieldLabel:"TextField3"},

{xtype:"textfield",fieldLabel:"TextField4"},

{xtype:"textfield",fieldLabel:"TextField5"}

]

}

]

},

{

layout:"form",

xtype:"fieldset",

title:"分组3",

autoHeight:true,

style:"margin-top:10px", // 与分组1/分组2之间保留一些空隙。

items:{

xtype:"textarea",

width:500,

height:150,

fieldLabel:"TextArea"

}

}

],

buttons:[{

text:"OK",

handler:function() {

form.getForm().submit();

}

}],

renderTo:"fieldsetGroup"

});

 

效果:

 

21.5自定义布局:在表单中加入图片

Ext.form.FormPanel继承自Ext.Panel,因此可以使用items和layout提供的各种布局形式。这里使用xtype:panel,来放一张图片。

 

示例:

var form = new Ext.form.FormPanel({

title:"在表单中加入图片",

width:650,

labelAlign:"right",

labelWidth:60,

frame:true,

items:[

{

layout:"column",

items:[

{

columnWidth:0.5,

layout:"form",

xtype:"fieldset",

title:"Fieldset1",

autoHeight:true,

items:[

{xtype:"textfield",fieldLabel:"Text1"},

{xtype:"textfield",fieldLabel:"Text2"}

]

},

{

columnWidth:0.5,

layout:"form",

xtype:"fieldset",

title:"Fieldset2",

autoHeight:true,

style:"margin-left:20px",

items:[

{xtype:"textfield",fieldLabel:"Text3"},

{xtype:"textfield",fieldLabel:"Text4"}

]

}

]

},

{

xtype:"panel",

html:"<imgsrc='http://misc.360buyimg.com/lib/img/e/logo.png'>"

},

{

xtype:"fieldset",

title:"fieldset3",

autoHeight:true,

style:"margin-top:10px",

items:[

{

xtype:"textarea",

fieldLabel:"TextArea",

width:500,

height:120

}

]

}

],

buttons:[{text:"OK"}],

renderTo:"otherlayout"

});

效果:


分享到:
评论

相关推荐

    ext表格布局小例子

    ### ExtJS 表格布局小例子详解 #### 一、简介 本文档旨在解析一个具体的 ExtJS 表格布局小例子,重点介绍其中涉及的数据存储、数据删除与添加的方法。ExtJS 是一款强大的 JavaScript 框架,用于构建交互式的前端...

    Ext table布局实例 formpanel的table布局

    在formpanel中使用table布局,可以按照表格的形式组织表单元素,这在处理多列或多行表单布局时非常有用。 以下关于formpanel的table布局要点: 1. **form layout**:设置`layout: 'form'`,让formpanel使用form...

    Ext 表单布局实例代码

    在EXT JS这个强大的JavaScript框架中,表单布局是构建用户界面时一个非常重要的组成部分。EXT JS提供了多种布局方式,使得开发者可以灵活地设计和组织表单元素。在提供的代码实例中,我们看到了一个基于EXT JS的表单...

    EXT 布局 Layout 资料

    ### EXT 布局 Layout 资料详解 ...- **Table 布局**:用于表格布局,支持行列布局。 每种布局都有其特定的应用场景,选择合适的布局可以帮助开发者更好地组织界面元素,提高用户界面的友好性和可维护性。

    Ext学习笔记 解决Ext遇到的基础问题,如组件的应用,Ext的布局,表单,Grid控件的讲解,还要一些综合应用

    解决Ext遇到的基础问题,如组件的应用,Ext的布局,表单,Grid控件的讲解,还要一些综合应用

    ext表单

    EXT表单,是一种基于JavaScript和Ajax技术的富客户端(Rich Client)表单处理技术,它源自EXT JS库,专门用于构建交互性强、用户体验优秀的Web应用程序。EXT JS是一个强大的JavaScript库,提供了一系列组件化的UI...

    Ext10种布局

    ExtJS2.0 提供了丰富的布局选项,覆盖了从简单的容器布局到复杂的表格布局等多种场景需求。理解并掌握这些布局的特点和使用方法,能够帮助开发者高效地构建用户界面。在实际开发过程中,根据具体需求选择合适的布局...

    Ext 添加功能form表单实例

    - `layout`: 使用了`"form"`布局,这是Ext中专门为表单设计的布局方式。 - `labelWidth`: 统一设置了所有字段标签的宽度。 - `autoScroll`: 设置为`true`,当表单内容超出容器时自动显示滚动条。 #### 字段配置 ...

    ext表单设计器,常用表单拖拉实现

    它们支持多种类型的字段,如文本框、复选框、单选按钮、下拉列表等,并且可以进行复杂的布局管理,如表格布局、流式布局和绝对布局。表单设计器通常包括以下关键功能: 1. **字段拖放**:在设计器中,你可以从一个...

    ExtJs布局教程Ext详细布局

    这种布局模式适用于需要按比例分配空间的场景,比如创建表格或者多列表单。 在文中提到的例子中,作者首先创建了一个窗口(win),其宽度和高度是通过另一个JavaScript文件动态计算得出的,目的是确保窗口始终占据...

    Ext.Viewport布局

    ### Ext.Viewport布局详解 在前端开发领域,尤其是基于Ext JS框架进行应用设计时,`Ext.Viewport`布局是至关重要的概念。它提供了一个全面的、全屏的容器,用于组织和展示各种UI组件,如面板、表格、图表等。在给定...

    Ext Panel拼揍表格模板.rar

    Panel是这个模型中的基础单元,它可以包含其他组件,比如表格(Grid)、按钮、表单等,并且可以设置标题、工具栏、边框等特性。 在Ext Panel中创建表格通常涉及到以下步骤: 1. **引入必要的库**:首先,你需要在...

    Ext中表单中各种组件的布局

    ### Ext中表单中各种组件的布局 #### 平行分列布局介绍 在Ext框架中,表单组件是创建用户界面的重要组成部分。通过合理的布局管理可以极大地提升用户体验。本篇将详细介绍Ext中表单中各种组件的布局方法,重点讨论...

    ext布局(Layout.html)例子.pdf

    Table布局将子组件按表格形式排列,通过`layout: 'table'`和`layoutConfig.column`定义列数。`rowspan`和`colspan`可以调整子组件跨越的行和列,类似于HTML的`&lt;table&gt;`元素。 在实际应用中,EXT布局的配置和使用...

    ext 双层表格 grid(附带图片)

    考虑到现代Web应用的跨设备需求,EXT JS Grid支持响应式布局,可以根据屏幕大小自动调整列宽和布局。 综上所述,EXT JS的双层表格功能提供了强大的数据展示能力,通过灵活的配置和丰富的API,可以满足各种复杂的...

    表格Ext js源代码

    在本资源中,我们关注的是"表格Ext js gird源代码",这涉及到Ext JS中的Grid Panel组件,它是展示和操作数据集的主要工具。 Grid Panel是Ext JS中的核心组件之一,用于显示结构化的数据,通常以表格的形式。它支持...

    Ext左树有表格 增删改查

    在"Ext左树有表格 增删改查"这个主题中,我们主要关注的是ExtJS如何实现左侧树形结构与右侧表格的交互,以及在这样的布局中进行数据的增、删、改、查操作。 首先,ExtJS中的树形组件(TreePanel)可以用来展示层级...

    搜集来的ext布局材料

    - `table` 布局:未在代码中出现,用于表格样式的布局,组件按行和列分布。 4. **工具栏(tbar/bbar)**: - `tbar`(top toolbar)和 `bbar`(bottom toolbar)属性用于在面板的顶部和底部添加工具栏,包含多个...

    Ext Column+Form布局画复杂页面

    在本文中,我们将深入探讨如何使用Ext Column+Form布局来构建复杂的页面。这种布局方式是Ext JS库中的一种强大工具,特别适用于创建数据输入密集型的Web应用界面。Ext JS是一个用于构建富客户端应用程序的JavaScript...

Global site tag (gtag.js) - Google Analytics