Extjs学习总结之18布局与表单初始化
2011-12-02 13:10
513 查看
布局就是说你的这些组件按照怎么个布局方式排列的问题,我们看看extjs的布局管理是如何做的:
layout.js:
效果图:
所谓表单初始化,就是还是和后台servlet的一个交互,只不过这里我们把他的数据本地化了,当然也可以从数据库中取。看看吧。
forminit.js:
效果图:
layout.js:
Ext.onReady(function(){ var form = new Ext.form.FormPanel({ title:"灵活布局的表单", width:650, autoHeight:true, frame:true, renderTo:"a", //<div id="a"></div> layout:"form",//整个大的表单是form布局 labelWidth:65, labelAlign:"right", items:[{//行1 layout:"column",//从左到右的布局 items:[{ columnWidth:.3,//该列有整行中所占百分比 layout:"form",//从上往下的布局 items:[{ xtype:"textfield", fieldLabel:"姓", width:120 }] },{ columnWidth:.3, layout:"form", items:[{ xtype:"textfield", fieldLabel:"名", width:120 }] },{ columnWidth:.3, layout:"form", items:[{ xtype:"textfield", fieldLabel:"英文名", width:120 }] }] },{//行2 layout:"column", items:[{ columnWidth:5, layout:"form", items:[{ xtype:"textfield", fieldLabel:"座右铭1", width:220 }] },{ columnWidth:5, layout:"form", items:[{ xtype:"textfield", fieldLabel:"座右铭2", width:220 }] }] },{//行3 layout:"form", items:[{ xtype:"textfield", fieldLabel:"奖励", width:500 },{ xtype:"textfield", fieldLabel:"处罚", width:500 }] },{//行4 layout:"column", items:[{ layout:"form", columnWidth:0.2, items:[{ xtype:"textfield", fieldLabel:"电影最爱", width:50 }] },{ layout:"form", columnWidth:0.2, items:[{ xtype:"textfield", fieldLabel:"音乐最爱", width:50 }] },{ layout:"form", columnWidth:0.2, items:[{ xtype:"textfield", fieldLabel:"明星最爱", width:50 }] },{ layout:"form", columnWidth:0.2, items:[{ xtype:"textfield", fieldLabel:"运动最爱", width:50 }] }] },{//行5 layout:"form", items:[{ xtype:"htmleditor", fieldLabel:"获奖文章", enableLists:false, enableSourceEdit:false, height:150 }] }], buttonAlign:"center", buttons:[{ text:"提交" },{ text:"重置" }] }); });
效果图:
所谓表单初始化,就是还是和后台servlet的一个交互,只不过这里我们把他的数据本地化了,当然也可以从数据库中取。看看吧。
forminit.js:
Ext.onReady(function(){ //创建JSON对象 用来定义记录机构,并建立和json对象的映射关系 var reader = new Ext.data.JsonReader({},[ {name:"userName",type:"string",mapping:"userName"}, {name:"password",type:"string",mapping:"password"}, {name:"birthday",type:"string",mapping:"birthday"}, {name:"sexGroup",type:"string",mapping:"sexGroup"} ]); /* * FormPanel通常支持两种初始化表单组件的方法: * * 本次初始化:创建二维数据或者JSON对象,使用Ext.form.BasicForm的setValues()方法填充 * * 远程初始化:从远程服务器获取JSON对象数组,通过Ext.form.FormPanel的load方法填充 */ var form = new Ext.form.FormPanel({ title:"表单初始化-用户注册", width:300, autoHeight:true, frame:true, renderTo:"a", labelWidth:65, labelAlign:"right", defaultType:"textfield", items:[{ name:"userName", fieldLabel:"用户名", width:200 },{ name:"password", fieldLabel:"密码", inputType:"password", width:200 },{ name:"birthday", fieldLabel:"出生日期", xtype:"datefield", format:"Y-m-d", width:150 },{ name:"sexGroup", fieldLabel:"性别", xtype:"radiogroup", // xtype:"ux-radiogroup", // horizontal:true,//水平放置 // radios:[{ // name:"sex", // boxLabel:"男", // value:"男" // },{ // name:"sex", // boxLabel:"女", // value:"女" // }] //有bug width:100, items:[{ name:"sex", xtype:"radio", boxLabel:"男", inputValue:"男" },{ name:"sex", xtype:"radio", boxLabel:"女", inputValue:"女" }] }], buttons:[{ text:"提交" },{ text:"本地读取", handler:function(){ var json = { userName:"吕鹏", password:"admin", birthday:"1990-03-10", sex:"男" // sexGroup:"男" }; form.getForm().setValues(json); } },{ text:"远程读取", handler:function(){ //reader是赋给了form.getForm().reader不是给form //load方法负责通过ajax从指定的web组件获取数据,然后自动填充 form.getForm().reader = reader; form.load({url:"../../../initValuesServlet"}); } }] }); });
效果图:
相关文章推荐
- Extjs学习总结之15表单面板formpanel
- EXTJS 学习总结(4-1) FormPanel的布局
- 一步步学习微软InfoPath2010和SP2010--第三章节--表单设计基础:处理InfoPath布局、控件和视图(5)--理解数据绑定的基础
- 学习总结20150905--表单
- EasyUI学习总结(六)——EasyUI布局
- java学习总结(16.06.03)java中数组的定义和初始化
- Docker学习总结(18)——阿里超大规模Docker化之路
- JAVA编程思想学习总结:第五章——初始化与清理
- struts2表单验证初步及国际化实现(学习总结)
- CSS3与页面布局学习总结(五)——Web Font与Sprite
- Linux内核与驱动开发学习总结:PCI中线初始化(十一)
- 分享总结10天来学习HTML DIV+CSS标准网页布局一些技巧
- 前端学习总结——CSS布局方式之传统布局
- Maven学习总结(18)——深入理解Maven仓库
- 【IOS 开发学习总结-OC-15】objective-c面向对象之——对象初始化
- ExtJS的布局--学习笔记
- ExtJS学习笔记(1)-表单验证,Ext.FormPanel
- Extjs学习笔记之三 extjs form更多的表单项
- Extjs学习总结之09日期选择器DatePicker
- Extjs学习总结之19表格组件gridpanel