ExtJS学习笔记八,复杂页面功能实现
2011-08-12 13:35
585 查看
<script type='text/javascript'> Ext.onReady(function(){ //定义Record模板,用的时候要使用new Job({job:""}) var JOB = Ext.data.Record.create([{ name:"job" }]); new Ext.Window({ title:"添加人员", width:500, height:345, plain:true, layout:"form", //defaults:{anchor:"95%"},//锚点布局,就是随着窗体大小而改变---紧靠 labelWidth:55, defaultType:"textfield", bodyStyle:"padding:5px", //style:"padding:5px", items:[{ xtype:"panel", //设置背景色和容器颜色一致 baseCls:"x-plain", layout:"column", items:[{ columnWidth:0.5, baseCls:"x-plain", layout:"form", defaultType:"textfield", defaults:{width:160}, labelWidth:55, items:[{ fieldLabel:"姓名" },{ fieldLabel:"年龄", //我们要根据出生日期自动算出 value:28, readOnly:true },{ xtype:"datefield", fieldLabel:"出生日期", //mdy模式匹配符 //在Date类中罗列了很多日期格式 format:"Y-m-d", //这个是用的最多的2000-08-00 //value:new Date() value:"1982-09-02",//要符合format的哦 readOnly:true,//只能选择不能输入 listeners:{ "change":function(_df){ var age = _df.ownerCt.findByType("textfield")[1]; //alert(_df.getValue().getFullYear()); age.setValue(new Date().getFullYear()-_df.getValue().getFullYear()); } } },{ fieldLabel:"联系电话" },{ fieldLabel:"手机号码" },{ fieldLabel:"电子邮件" },{ //这个控件在form里面算是最复杂的 fieldLabel:"性别", xtype:"combo", //simpleStore默认的阅读器是arrayReader //本地模式 mode:"local",//default:remote--远程 displayField:"sex",//valueField readOnly:true, triggerAction:"all",//query store:new Ext.data.SimpleStore({ fields:["sex"], data:[["男"],["女"]] }) }] },{ columnWidth:0.5, baseCls:"x-plain", layout:"form", labelWidth:55, items:{ xtype:"textfield", inputType:"image", fieldLabel:"个人照片", width:170, height:170 } }] },{ fieldLabel:"身份证号",width:400 },{ fieldLabel:"具体地址",width:400 },{ xtype:"panel", layout:"column", baseCls:"x-plain", items:[{ columnWidth:0.4, layout:"form", baseCls:"x-plain", labelWidth:55, items:{ xtype:"combo", fieldLabel:"职位", anchor:"100%", mode:"local",//default:remote--远程 displayField:"job",//valueField readOnly:true, triggerAction:"all",//query store:new Ext.data.SimpleStore({ fields:["job"], data:[["程序员"],["工程师"],["主管"]] }), listeners:{ "select":function(_combo,_record,_index){ _combo["selectItem"] = _record; } } } //xtype="combo" },{ columnWidth:0.2, layout:"form", baseCls:"x-plain", bodyStyle:"padding-left:10px", items:{ xtype:"button", text:"添加职位", handler:function(){ //第一个是panel,第二个到panel,第三个到window var _window = this.ownerCt.ownerCt.ownerCt; var _job = _window.findByType("combo")[1]; Ext.MessageBox.prompt("请输入职位名称","职位名称",function(_btn,_text){ if(_btn == "ok"){ if(_text != ""){ var _store = this.store; _store.insert(0,new JOB({job:_text})); this.setValue(_text); this["selectItem"] = this.store.getAt(0); } } },_job); } } },{ columnWidth:0.2, baseCls:"x-plain", items:{ xtype:"button", text:"修改职位", handler:function(){ //第一个是panel,第二个到panel,第三个到window var _window = this.ownerCt.ownerCt.ownerCt; var _job = _window.findByType("combo")[1]; if(_job["selectItem"] != null) Ext.MessageBox.prompt("请输入修改后职位名称","职位名称",function(_btn,_text){ if(_btn == "ok"){ if(_text != ""){ this["selectItem"].set("job",_text); this["selectItem"] = this.store.getAt(0); this.setValue(_text); } } },_job,false,_job.getValue()); } } },{ columnWidth:0.2, baseCls:"x-plain", items:{ xtype:"button", text:"删除职位", handler:function(){ //第一个是panel,第二个到panel,第三个到window var _window = this.ownerCt.ownerCt.ownerCt; var _job = _window.findByType("combo")[1]; if(_job["selectItem"] != null) Ext.MessageBox.confirm("系统提示","删除当前职位吗",function(_btn){ if(_btn == "yes"){ this.store.remove(this["selectItem"]); if(this.store.getCount() != 0){ this.setValue(this.store.getAt(0).get("job")); this["selectItem"] = this.store.getAt(0); }else{ this["selectItem"] = null; this.setValue(""); } } },_job); } } }] }], boo:false,//用于只加载一次--这个是自己随便设置的参数,就一个boolean类型的参数 listeners:{ "show":function(_window){ //得到Ext中元素对象 if(!_window["boo"]){ //alert(0); _window.findByType("textfield")[5].getEl().dom.src="zhao.jpg"; _window["boo"]=true; } var _job = _window.findByType("combo")[0]; var _store = _job.store; //_store.getAt(0) --record,得到一条记录 _job.setValue(_store.getAt(0).get("sex")); _job = _window.findByType("combo")[1]; _store = _job.store; _job.setValue(_store.getAt(0).get("job")); _job["selectItem"] = _store.getAt(0); } }, buttons:[{ text:"确定", //buttons也是一个集合 handler:function(){ alert(this.ownerCt.buttons[1].text); } },{ text:"取消" }] }).show(); }) </script>
相关文章推荐
- ExtJS学习笔记七:复杂页面布局实现
- ExtJS学习笔记:复杂页面布局实现
- 网上图书商城项目学习笔记-004注册页面前后台的验证、注册功能实现、激活功能实现
- 【学习笔记⑦】登录页面怎样实现验证码登录功能
- 【学习笔记】使用vue2实现购物车和地址选配功能
- QTableView和QTableWidget翻页功能实现---Qt学习笔记5
- 【黑马程序员】简单拍照功能的实现(学习笔记)之一
- STM32实现IAP功能的学习笔记
- xilinx fpga学习笔记7:实现属性参数的功能
- struts2第十二讲学习笔记,综合使用实现登录,页面中使用ognl表达式请求值
- 学习笔记二:checkbox实现全选功能
- [学习笔记]EXCEL导入功能java代码实现
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- PHP学习笔记 2009-8-25 实现分页显示功能
- [知了堂学习笔记]网络编程扩展_实现简单的聊天室功能
- 【黑马程序员】简单拍照功能的实现(学习笔记)之二
- android 学习笔记2——实现基本功能
- 【学习笔记】PHP实现页面静态化
- [Silverlight学习笔记]实现上传图片功能时遇到的问题
- Andriod学习笔记:仿美图秀秀首页手柄下拉功能实现(一)