默认的平铺布局
如果不进行任何设置,将控件加入到表单中,就是自上而下的平铺布局。
如:
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"
});
效果:
相关推荐
### ExtJS 表格布局小例子详解 #### 一、简介 本文档旨在解析一个具体的 ExtJS 表格布局小例子,重点介绍其中涉及的数据存储、数据删除与添加的方法。ExtJS 是一款强大的 JavaScript 框架,用于构建交互式的前端...
在formpanel中使用table布局,可以按照表格的形式组织表单元素,这在处理多列或多行表单布局时非常有用。 以下关于formpanel的table布局要点: 1. **form layout**:设置`layout: 'form'`,让formpanel使用form...
在EXT JS这个强大的JavaScript框架中,表单布局是构建用户界面时一个非常重要的组成部分。EXT JS提供了多种布局方式,使得开发者可以灵活地设计和组织表单元素。在提供的代码实例中,我们看到了一个基于EXT JS的表单...
### EXT 布局 Layout 资料详解 ...- **Table 布局**:用于表格布局,支持行列布局。 每种布局都有其特定的应用场景,选择合适的布局可以帮助开发者更好地组织界面元素,提高用户界面的友好性和可维护性。
解决Ext遇到的基础问题,如组件的应用,Ext的布局,表单,Grid控件的讲解,还要一些综合应用
EXT表单,是一种基于JavaScript和Ajax技术的富客户端(Rich Client)表单处理技术,它源自EXT JS库,专门用于构建交互性强、用户体验优秀的Web应用程序。EXT JS是一个强大的JavaScript库,提供了一系列组件化的UI...
ExtJS2.0 提供了丰富的布局选项,覆盖了从简单的容器布局到复杂的表格布局等多种场景需求。理解并掌握这些布局的特点和使用方法,能够帮助开发者高效地构建用户界面。在实际开发过程中,根据具体需求选择合适的布局...
- `layout`: 使用了`"form"`布局,这是Ext中专门为表单设计的布局方式。 - `labelWidth`: 统一设置了所有字段标签的宽度。 - `autoScroll`: 设置为`true`,当表单内容超出容器时自动显示滚动条。 #### 字段配置 ...
它们支持多种类型的字段,如文本框、复选框、单选按钮、下拉列表等,并且可以进行复杂的布局管理,如表格布局、流式布局和绝对布局。表单设计器通常包括以下关键功能: 1. **字段拖放**:在设计器中,你可以从一个...
这种布局模式适用于需要按比例分配空间的场景,比如创建表格或者多列表单。 在文中提到的例子中,作者首先创建了一个窗口(win),其宽度和高度是通过另一个JavaScript文件动态计算得出的,目的是确保窗口始终占据...
### Ext.Viewport布局详解 在前端开发领域,尤其是基于Ext JS框架进行应用设计时,`Ext.Viewport`布局是至关重要的概念。它提供了一个全面的、全屏的容器,用于组织和展示各种UI组件,如面板、表格、图表等。在给定...
Panel是这个模型中的基础单元,它可以包含其他组件,比如表格(Grid)、按钮、表单等,并且可以设置标题、工具栏、边框等特性。 在Ext Panel中创建表格通常涉及到以下步骤: 1. **引入必要的库**:首先,你需要在...
### Ext中表单中各种组件的布局 #### 平行分列布局介绍 在Ext框架中,表单组件是创建用户界面的重要组成部分。通过合理的布局管理可以极大地提升用户体验。本篇将详细介绍Ext中表单中各种组件的布局方法,重点讨论...
Table布局将子组件按表格形式排列,通过`layout: 'table'`和`layoutConfig.column`定义列数。`rowspan`和`colspan`可以调整子组件跨越的行和列,类似于HTML的`<table>`元素。 在实际应用中,EXT布局的配置和使用...
考虑到现代Web应用的跨设备需求,EXT JS Grid支持响应式布局,可以根据屏幕大小自动调整列宽和布局。 综上所述,EXT JS的双层表格功能提供了强大的数据展示能力,通过灵活的配置和丰富的API,可以满足各种复杂的...
在本资源中,我们关注的是"表格Ext js gird源代码",这涉及到Ext JS中的Grid Panel组件,它是展示和操作数据集的主要工具。 Grid Panel是Ext JS中的核心组件之一,用于显示结构化的数据,通常以表格的形式。它支持...
在"Ext左树有表格 增删改查"这个主题中,我们主要关注的是ExtJS如何实现左侧树形结构与右侧表格的交互,以及在这样的布局中进行数据的增、删、改、查操作。 首先,ExtJS中的树形组件(TreePanel)可以用来展示层级...
- `table` 布局:未在代码中出现,用于表格样式的布局,组件按行和列分布。 4. **工具栏(tbar/bbar)**: - `tbar`(top toolbar)和 `bbar`(bottom toolbar)属性用于在面板的顶部和底部添加工具栏,包含多个...
在本文中,我们将深入探讨如何使用Ext Column+Form布局来构建复杂的页面。这种布局方式是Ext JS库中的一种强大工具,特别适用于创建数据输入密集型的Web应用界面。Ext JS是一个用于构建富客户端应用程序的JavaScript...