【ExtJS】FormPanel 布局(一)
准备工作,布置一个最简单的Form,共5个组件,都为textfield。
Ext.onReady(function(){
Ext.create('Ext.form.Panel', {
width: 500,
title: 'Layout',
renderTo : 'form',
items: [{
xtype : 'textfield',
fieldLabel : 'edit1',
name : 'edit1',
},{
xtype : 'textfield',
fieldLabel : 'edit2',
name : 'edit1',
},{
xtype : 'textfield',
fieldLabel : 'edit3',
name : 'edit1',
},{
xtype : 'textfield',
fieldLabel : 'edit4',
name : 'edit1',
},{
xtype : 'textfield',
fieldLabel : 'edit5',
name : 'edit1',
}],
buttons : [{
text : 'upDate',
handler : function(){
//do something...
}
}]
});
})
效果:

1、Absolute绝对布局:
使用标准x,y属性进行x/y坐标定位。
Ext.create('Ext.form.Panel', {
title: 'Absolute',
renderTo: 'absolute',
width: 500,
height: 250,
layout: 'absolute',
items: [{
xtype : 'textfield',
fieldLabel : 'edit1',
width : 100,
name : 'edit1',
x : 10,
y : 10
},{
xtype : 'textfield',
fieldLabel : 'edit2',
width : 160,
name : 'edit1',
x : 20,
y : 40
},{
xtype : 'textfield',
fieldLabel : 'edit3',
width : 60,
name : 'edit1',
x : 30,
y : 70
},{
xtype : 'textfield',
fieldLabel : 'edit4',
width : 190,
name : 'edit1',
x : 40,
y : 100
},{
xtype : 'textfield',
fieldLabel : 'edit5',
width : 220,
name : 'edit1',
x : 50,
y : 130
}],
buttons : [{
text : 'upDate',
handler : function() {
//do something...
}
}]
});
效果:

ps:在调试的时候遇到一个情况,如果仅设置宽width而不设置高height的话,会出现“Layout run failed ”错误。不过若是仅设置高而不设置宽,则Form宽填充整个页面,而不会出现错误。
2、accordion手风琴式布局:
注意:只有 Ext的各种Panel和Ext.panel.Panel的子类可以用于这种布局的容器中.
诸如Header、Table、Tool等,子类有:
Ext.create('Ext.form.Panel', {
width: 500,
height: 250,
title: 'Accordion',
renderTo: 'accordion',
layout : 'accordion',
items: [{
title: 'Panel1',
html: 'Panel content!'
},{
itle: 'Panel2',
html: 'Panel content!'
},{
title: 'Panel3',
html: 'Panel content!'
}],
buttons : [{
text : 'open Panel3',
handler : function() {
Ext.getCmp('Panel3').expand(true);
}
}]
});
效果:

3、Anchor式布局:
根据父控件宽高,以固定百分比或者固定偏移量来决定子控件的尺寸。
Ext.create('Ext.form.Panel',{
width: 500,
height: 400,
title: 'Anchor',
renderTo: 'anchor',
layout: 'anchor',
buttonAlign : 'center',
items: [{
xtype: 'panel',
title: '75% Width and 20% Height',
anchor: '75% 20%'
},{
xtype: 'panel',
title: 'Offset -300 Width and -200 Height',
anchor: '-300 -200'
},{
xtype: 'panel',
title: 'Offset -200 Width and 40% Height',
anchor: '-250 40%'
}],
buttons : [{
text : 'upDate',
handler : function() {
//do something..
}
}]
});
效果:

4、Auto布局:
Ext.create('Ext.form.Panel',{
width: 500,
height: 400,
title: 'Auto',
renderTo: 'auto',
layout: 'auto',
buttonAlign : 'center',
margin: '50 150 50 50',
border: true,
items: [{
type: 'panel',
title: 'AutoLayout1',
margin: '10 10 10 10',
border: true,
},{
xtype: 'panel',
title: 'AutoLayout2',
border: true,
margin: '10 10 10 10'
}],
buttons : [{
text : 'upDate',
handler : function() {
//do something..
}
}]
});
效果:

一些常用配置与问题:
1、border 边框设置
默认为false,边框不可见。true为边框可见。
2、margin 组件页边
margin 可以是一个数值适用于所有边 或者它可以是每个样式的CSS样式规范, 例如: '10 5 3 10'。
3、buttonAlign 按钮Button位置
指定Panel中按钮的位置。可配置的值有'right', 'left' 和 'center'(对于所有的buttons/fbar默认为'right',对于toolbar 则默认为'left')。
4、handler : function(){}
按钮点击事件的触发。
5、关于标签fieldLabel与title
title为要现实的标签文本。
fieldLabel为域标签。它被附加了labelSeparator, 其位置和大小被labelAlign、 labelWidth和labelPad配置确认。
labelSeparator: 插入到fieldLabel后面的字符。默认为":"
labelAlign: 控制fieldLabel的位置和对齐方式。有效值为:
"left" (默认) - 标签位于域的左边,其文本左对齐。其宽度由labelWidth配置确定。
"top" - 标签位于域的顶端。
"right" - 标签位于域的右边,其文本右对齐。其宽度由labelWidth配置确定。
labelWidth: fieldLabel以像素为单位的宽度。只适用于 labelAlign设置了“left”或“right”。默认为"100"。
labelPad: fieldLabel和输入域之间的像素空间的合计。默认为"5"。
【ExtJS】FormPanel 布局(一)的更多相关文章
- ExtJs FormPanel布局
FormPanel有两种布局:form和column,form是纵向布局,column为横向布局.默认为后者.使用layout属性定义布局类型.对于一个复杂的布局表单,最重要的是正确分割,分割结果直接 ...
- Extjs关于FormPanel布局
Extjs关于FormPanel布局 FormPanel有两种布局:form和column,form是纵向布局,column为横向布局.默认为后者.使用layout属性定义布局类型.对于一个复杂的布局 ...
- ExtJs常用布局--layout详解(含实例)
序言: 笔者用的ExtJs版本:ext-3.2.0 ExtJs常见的布局方式有:border.form.absolute.column.accordion.table.fit.card.anchor ...
- 【ExtJS】FormPanel 布局(二)
周末2天好好学习了下布局,现在都给实现了吧. 5.border布局: Border布局将容器分为五个区域:north.south.east.west和center.除了center区域外,其他区域都需 ...
- Extjs Column布局常见问题及解决方法
原文地址:http://blog.csdn.net/weoln/article/details/4339533 第一次用Extjs的column布局时遇见了很多问题,记录下来,供大家参考.column ...
- Extjs.FormPanel
刚刚学习ExtJS ,备注一哈代码 防止忘记... <html xmlns="http://www.w3.org/1999/xhtml"> <head runat ...
- Extjs Vbox布局方式,以及align种类,flex,pack属性含义简介
VBox布局方式,熟悉下一下几个主要属性: 一.align:字符类型,指示组件在容器内的对齐方式.这个是基于容器的左上角来排列的.pack不同,pack是根据容器的最上边来显示的. 1.left(默认 ...
- 【ExtJS】 布局Layout
布局用于定义容器如何组织内部子元素和控制子元素的大小. ExtJS中有两种类型的布局:Container容器类布局与Component组件类布局. Containter容器类布局:负责容器内容Extj ...
- formpanel布局的学习
FormPanel有两种布局:form和column,form是纵向布局,column为横向布局.默认为后者.使用layout属性定义布局类型.对于一个复杂的布局表单,最重要的是正确分割,分割结果直接 ...
随机推荐
- php数组倒叙支持多维数组
<?php //一维数组 $test1 = array("a"=>"苹果","b"=>"香蕉",&qu ...
- jQUery 常用实例
1. 如何创建嵌套的过滤器 //允许你减少集合中的匹配元素的过滤器, //只剩下那些与给定的选择器匹配的部分.在这种情况下, //查询删除了任何没(:not)有(:has) //包含class为“se ...
- 【转】基于Redis实现延时队列服务
背景 在业务发展过程中,会出现一些需要延时处理的场景,比如: a.订单下单之后超过30分钟用户未支付,需要取消订单b.订单一些评论,如果48h用户未对商家评论,系统会自动产生一条默认评论c.点我达订单 ...
- centos 7 安装solr7.3.0 配置mysql
1.下载solr :wget http://archive.apache.org/dist/lucene/solr/7.3.0/solr-7.3.0.tgz 或者去官网自己下:http://arc ...
- Python【数据类型】
本文介绍 1.什么是数据类型 2.Number类型 3.字符串类型 4.布尔类型 一.什么是数据类型 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又 ...
- WebSerervice webapi使用
WebSerervice webapi使用 1.传json参数: 2.返回json数据: 3.权限控制: Authorize特性:必须经过认证,请求头必须具有token信息 4.路由: 5.过滤器: ...
- shell脚本小实例
本文收集了一堆的shell脚本技巧,我说过,我写博客主要是作一些学习笔记,方便自己查阅,所以,我会搞出这么一篇文章,也没有什么不可理解的.关于这些技巧的出处,诶,我也忘了,可能来自theunixsch ...
- LAYABOX 开发遇到的问题记录
1. 如若在MAC下用LAYA开发H5游戏, 调试的时候会发现像素点过小(mac 5k屏),直接用下面按比例填充就好了 //保持原始高宽比的情况下,将舞台铺满屏幕,超出比例的部分会有黑边 ...
- Mysql内置功能《五》 函数
一 函数 MySQL中提供了许多内置函数,例如: 一.数学函数 ROUND(x,y) 返回参数x的四舍五入的有y位小数的值 RAND() 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND( ...
- KVM虚拟化之windows虚拟机性能调整
通过KVM安装WindowsXP/2003/7/2008操作系统后,由于默认的磁盘驱动(IDE)性能与网卡驱动(RTL8139100M)的性能都极其低下,需要调整,通过加载Redhatvirtio驱动 ...