【ExtJS】FormPanel 布局(一)


准备工作,布置一个最简单的Form,共5个组件,都为textfield。

 1 Ext.onReady(function(){
 2     Ext.create('Ext.form.Panel', {
 3         width: 500,
 4         title: 'Layout',
 5      renderTo : 'form',
 6         items: [{
 7             xtype : 'textfield',
 8             fieldLabel : 'edit1',
 9             name : 'edit1',
10         },{
11             xtype : 'textfield',
12             fieldLabel : 'edit2',
13             name : 'edit1',
14         },{
15             xtype : 'textfield',
16             fieldLabel : 'edit3',
17             name : 'edit1',
18         },{
19             xtype : 'textfield',
20             fieldLabel : 'edit4',
21             name : 'edit1',
22         },{
23             xtype : 'textfield',
24             fieldLabel : 'edit5',
25             name : 'edit1',
26         }],
27      buttons : [{
28        text : 'upDate',
29        handler : function(){
30          //do something...
31        }
32      }] 
33     });
34 })

效果: 


1、Absolute绝对布局:

  使用标准x,y属性进行x/y坐标定位。

 1 Ext.create('Ext.form.Panel', {
 2   title: 'Absolute',
 3   renderTo: 'absolute',
 4   width: 500,
 5   height: 250,
 6   layout: 'absolute',
 7   items: [{
 8      xtype : 'textfield',
 9     fieldLabel : 'edit1',
10      width : 100,
11      name : 'edit1',
12      x : 10,
13       y : 10
14    },{
15      xtype : 'textfield',
16      fieldLabel : 'edit2',
17      width : 160,
18      name : 'edit1',
19      x : 20,
20      y : 40
21    },{
22      xtype : 'textfield',
23      fieldLabel : 'edit3',
24      width : 60,
25      name : 'edit1',
26       x : 30,
27      y : 70
28    },{
29       xtype : 'textfield',
30       fieldLabel : 'edit4',
31       width : 190,
32        name : 'edit1',
33       x : 40,
34       y : 100
35   },{
36     xtype : 'textfield',
37     fieldLabel : 'edit5',
38     width : 220,
39     name : 'edit1',
40     x : 50,
41     y : 130
42   }],
43   buttons : [{
44     text : 'upDate',
45     handler : function() {
46           //do something...
47     }
48   }]   
49 });

效果:

ps:在调试的时候遇到一个情况,如果仅设置宽width而不设置高height的话,会出现“Layout run failed ”错误。不过若是仅设置高而不设置宽,则Form宽填充整个页面,而不会出现错误。


2、accordion手风琴式布局:

注意:只有 Ext的各种Panel和Ext.panel.Panel的子类可以用于这种布局的容器中.

诸如Header、Table、Tool等,子类有:

Ext.container.ButtonGroup
Ext.form.Panel
Ext.menu.Menu
Ext.panel.Table
Ext.tab.Panel
Ext.tip.Tip
Ext.window.Window
 1 Ext.create('Ext.form.Panel', {
 2     width: 500,
 3     height: 250,
 4     title: 'Accordion',
 5     renderTo: 'accordion',
 6     layout : 'accordion',
 7     items: [{
 8         title: 'Panel1',
 9         html: 'Panel content!'
10     },{
11         itle: 'Panel2',
12         html: 'Panel content!'
13     },{
14         title: 'Panel3',
15         html: 'Panel content!'
16     }],
17     buttons : [{
18        text : 'open Panel3',
19       handler : function() {
20           Ext.getCmp('Panel3').expand(true);
21       }
22     }]   
23 });                    

效果:


3、Anchor式布局:

根据父控件宽高,以固定百分比或者固定偏移量来决定子控件的尺寸。

 1 Ext.create('Ext.form.Panel',{
 2     width: 500,
 3     height: 400,
 4     title: 'Anchor',
 5     renderTo: 'anchor',
 6     layout: 'anchor',
 7     buttonAlign : 'center',
 8     items: [{
 9         xtype: 'panel',
10           title: '75% Width and 20% Height',
11           anchor: '75% 20%'
12         },{
13          xtype: 'panel',
14           title: 'Offset -300 Width and -200 Height',
15             anchor: '-300 -200'     
16         },{
17             xtype: 'panel',
18             title: 'Offset -200 Width and 40% Height',
19             anchor: '-250 40%'
20         }],
21     buttons : [{
22         text : 'upDate',
23         handler : function() {
24             //do something..
25         }
26     }]  
27 });                

效果:

 


4、Auto布局:

 1 Ext.create('Ext.form.Panel',{
 2     width: 500,
 3     height: 400,
 4     title: 'Auto',
 5     renderTo: 'auto',
 6     layout: 'auto',
 7     buttonAlign : 'center',
 8     margin: '50 150 50 50',
 9     border: true,
10     items: [{
11          type: 'panel',
12          title: 'AutoLayout1',
13          margin: '10 10 10 10',
14          border: true,            
15     },{
16         xtype: 'panel',
17     title: 'AutoLayout2',
18     border: true,
19     margin: '10 10 10 10'
20     }],
21     buttons : [{
22         text : 'upDate',
23         handler : function() {
24             //do something..
25     }
26     }]  
27 });          

效果:

 



一些常用配置与问题:

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"。

 

转载于:https://www.cnblogs.com/linxiong945/p/3944277.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407274.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

squid代理架构

代理服务器是使用非常普遍的一种将局域网主机联入互联网的一种方式,使用代理上网可以节约紧缺的IP地址资源,而且可以阻断外部主机对内部主机的访问,使内部网主机免受外部网主机的***。但是,如果想让互联网上的主机访问内部网的主机…

JS之四舍五入Fixed

用法:toFixed() 方法可把 Number 四舍五入为指定小数位数的数字 语法:NumberObject.toFixed(num) 参数:必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略…

输出上下对称的星型

输出星型&#xff0c;如&#xff1a; ******************************* C code: // 用法如&#xff1a;a.exe 7#include<stdio.h>int main(int argc, char *argv[]){if(argc < 2){printf("Usage: %s <n>\n", argv[0]);}else{int n atoi(argv[1]);i…

javascript学习系列(16):数组中的every方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说…

JS之Number的toString方法

作用&#xff1a;toString() 方法可把一个 Number 对象转换为一个字符串&#xff0c;并返回结果 语法&#xff1a;NumberObject.toString(radix) 参数&#xff1a;可选。规定表示数字的基数&#xff0c;使 2 ~ 36 之间的整数。若省略该参数&#xff0c;则使用基数 10。但是要…

signal函数说明

c traps and pitfalls 对signal函数解释得非常详细。 <signal.h> 中 void ( *signal( int sig, void (* handler)( int ))) ( int ); int (*p)(); 这是一个函数指针, p所指向的函数是一个不带任何参数, 并且返回值为int的一个函数. int (*fun())(); 这个式子与上面式子…

javascript学习系列(17):数组中的find方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说…

RSA客户端js加密服务器C#解密(含源码)

本来用https感觉已经差不多了&#xff0c;客户非得要用户登录的时候再加密一次&#xff0c; 因为时间关系&#xff0c;原计划用C做客户端Activex加密暂被取消&#xff0c;花了两天时间在网上到处找&#xff0c;先作出了一个js的客户端加密先用着 思路 1.服务器每次随机生成公私…

vue mint-ui 弹出框

function toast(title){ //提示vm.$toast({message: title,position: middle,duration: 3000}); }效果如下 function toastSuccess(title){ //成功提示vm.$toast({message: title,iconClass: icon icon-success // (图标需自行准备&#xff09;}); } 效果如下 function lo…

REDIS 字典数据结构

对于REDIS来讲 其实就是一个字典结构&#xff0c;key ---->value 就是一个典型的字典结构 【当然 对于vaule来讲的话&#xff0c;有不同的内存组织结构 这是后话】 试想一个这样的存储场景&#xff1a; key:"city" value:"beijing" 如果有若干个这样…

JS之返回指定位置字符的charAt方法

作用&#xff1a;charAt() 方法可返回指定位置的字符&#xff0c;返回的字符是长度为 1 的字符串 语法&#xff1a;stringObject.charAt(index) 参数&#xff1a;必需。表示字符串中某个位置的数字&#xff0c;即字符在字符串中的下标 注意&#xff1a;字符串中第一个字符的…

OOB套接字传输实例(达不到预期结果)

参考资料&#xff1a;<<Linux网络编程.pdf>>page119-205 代码本来是全照书上抄的&#xff0c;后来发现编译不成功&#xff0c;所以就稍微改了下。下面是我修改后的代码&#xff1a; server.c // OOB套接字传输服务端(Server.c)#include <stdio.h>#include…

sql,dateadd,datediff

本文转载自MSDN&#xff0c;为了方便访问&#xff0c;谢谢&#xff01;DATEADD (Transact-SQL)http://msdn.microsoft.com/zh-cn/library/ms186819.aspx将指定 number 时间间隔&#xff08;有符号整数&#xff09;与指定 date 的指定 datepart 相加后&#xff0c;返回该 date。…

公众号H5 VUE获取CODE

回调地址设置页面向导&#xff1a;开发>接口权限>网页服务>网页授权>修改。开发的项目需要放到已经解析好服务器域名的服务器下&#xff0c;同时把Mp***.text文件放到服务器根目录下&#xff0c;此时你的服务器必须能联通外网也就是有公网IP,并且80端口是打开的&am…

javascript学习系列(18):数组中的include方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说…

curPos和tgtPos

curpos tgtpos 乍一看以为是当前位置和目标位置&#xff0c;但在项目里面这两个位置有点坑 当客户端玩家移动或者AI里面的位置&#xff0c;会把获得的位置付给tgtpos 而以前的tgtpos会付给curpos 所以这个tgtpos是当前玩家或者怪物站立的位置&#xff0c;而curpos是上一个位置 …

JS之获取指定位置Unicode的charCodeAt()方法

用法&#xff1a;charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数 语法&#xff1a;stringObject.charCodeAt(index) 参数&#xff1a;必需。表示字符串中某个位置的数字&#xff0c;即字符在字符串中的下标 注:1&#xff1a;方法…

利用ioctl获取本机指定设备的MAC地址

// 利用ioctl获取本机指定设备的MAC地址#include<stdio.h>#include<string.h>#include<stdlib.h>#include<errno.h>#include<unistd.h>#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/i…

日本語趣味読み 一 星とり

星とり ある夜のこと、お寺の庭で、小僧さんが、長い竹竿を、あっちこっち振り回りしておりました。 和尚さんがこれを見つけて、 「これこれ、そこで何をしているのじゃ。」 と聞きますと、小僧さんは、 「お空の星がほしくって、打ち落とそうとしているのでございますが、 ひ…

usaco-sprime-superprime-pass

这个题目开始真正用C&#xff0b;&#xff0b;了&#xff0c;因为&#xff0c;数组的分配有限制了&#xff0c;只好用c中的vector: /* ID: qq104801 LANG: C TASK: sprime */#include <iostream> #include <cstdio> #include <string> #include <cstring&…