大概学习了下Ext的技术,写了一个下图样子的东西,看看应该还不错,布局各方面还算可以,再次记录下,以便日后查用!手机充值:http://yjck67.taobao.com,自己的小店
下面直接上代码:
var sexArray = new Array(); Ext.onReady(function(){ var JOB = Ext.data.Record.create({name:"job"})//构造一个函数 var _window = new Ext.Window({ title:"添加人员", width:500, height:350, plain:true, defaultType:"textfield", items:[{ xtype:"panel", baseCls:"x-plain", style:"padding:5px", layout:"column", items:[{ columnWidth:.5, baseCls:"x-plain", layout:"form", labelWidth:55, defaults:{xtype:"textfield",width:150}, items:[{ fieldLabel:"姓名" },{ fieldLabel:"年龄", readOnly:true, value:"26" },{ xtype:"datefield", format:"Y-m-d", readOnly:true, value:"1986-02-13", fieldLabel:"出生日期", listeners:{ "change":function(){ var _age = _window.findByType("textfield")[1]; _age.setValue(new Date().getFullYear() - _window.findByType("datefield")[0].getValue().getFullYear()+1); } } },{ fieldLabel:"联系电话" },{ fieldLabel:"手机号码" },{ fieldLabel:"电子邮件" },{ xtype:"combo", fieldLabel:"性别", mode:"local", displayField:"sex", readOnly:true, triggerAction:"all", value:"男", store:new Ext.data.SimpleStore({ fields:["sex"], data:[["男"],["女"]] }) }] },{ columnWidth:.5, layout:"form", baseCls:"x-plain", labelWidth:55, items:{ xtype:"textfield", fieldLabel:"个人照片", width:170, height:177, inputType:"image" } }] },{ xtype:"panel", baseCls:"x-plain", layout:"form", style:"padding:5px", labelWidth:55, defaults:{xtype:"textfield"}, items:[{ fieldLabel:"身份证号", width:400 },{ fieldLabel:"具体地址", width:400 },{ xtype:"panel", layout:"column", baseCls:"x-plain", defaults:{baseCls:"x-plain"}, items:[{ columnWidth:.4, layout:"form", labelWidth:55, items:[{ xtype:"combo", fieldLabel:"职位", anchor:"100%", readOnly:true, triggerAction:"all", mode:"local", displayField:"job", store:new Ext.data.SimpleStore({ fields:["job"], data:[["程序员"],["经理"],["主管"],["测试工程师"]] }), listeners:{ "select":function(_combo,_record,_index){ _combo["selectItem"] = _record;//自定义属性,如果selectitem存在则引用,没有则创建 } } }] },{ columnWidth:.6, buttonAlign:"center", style:"padding:0 0 0 5px", buttons:[{ xtype:"button", text:"添加职位", handler:function(){ var _job = _window.findByType("combo")[1]; //var _store = _job.store; var _store = _job.getStore(); //alert(_store); Ext.Msg.prompt("请输入职位名称","职位名称",function(btn,text){ if(btn == "ok"){ _store.insert(0,new JOB({job:text})); this.setValue(text); } },_job); } },{ xtype:"button", text:"修改职位", handler:function(){ var _job = _window.findByType("combo")[1]; if(_job["selectItem"]!= null){ Ext.Msg.prompt("请输入修改后的职位名称","职位名称",function(btn,text){ this["selectItem"].set("job",text); this.setValue(text); },_job,false,_job.getValue()) } } },{ xtype:"button", text:"删除职位", handler:function(){ var _job = _window.findByType("combo")[1]; Ext.MessageBox.confirm("系统提示","你确认删除当前职位吗?",function(btn){ if(btn == "yes"){ try{ this.store.remove(this["selectItem"]); }catch(_err){} if(this.store.getCount() != 0){ this.setValue(this.store.getAt(0).get("job")); this["selectItem"] = this.store.getAt(0); }else{ this.setValue(""); } } },_job) } }] }] } ] }], buttons:[{ text:"确定" },{ text:"取消" }], allowlock:false,//自定义属性 listeners:{ "show":function(){ if(! _window["allowlock"]){ _window.findByType("textfield")[7].getEl().dom.src="images/default.jpg"; _window["allowlock"] = true } var _job = _window.findByType("combo")[1]; var _store = _job.store; _job.setValue(_store.getAt(0).get("job")); _job["selectItem"] = _store.getAt(0); } } }); _window.show(); });
个人感觉Ext的布局特别像java swing的布局方式。
相关推荐
EXTJS的皮肤通常包括CSS样式文件和相关的图片资源,这些资源共同定义了按钮、表格、面板、窗口等组件的颜色、字体、边框、背景等视觉元素。在"ext12套皮肤"这个压缩包中,包含了这十二种不同的皮肤样式,用户可以...
在这个"ExtJS实现聊天功能"的项目中,我们将探讨如何利用ExtJS框架构建一个类似于QQ的聊天应用程序。 首先,我们要理解聊天功能的核心要素。一个基本的聊天应用通常包含以下部分: 1. **用户界面**:ExtJS提供了...
在本文中,我们将深入探讨如何使用ExtJS框架实现一个用户登录功能。ExtJS是一个流行的JavaScript库,用于构建富客户端Web应用程序。以下是如何使用ExtJS创建一个简单的登录界面和处理登录逻辑的步骤。 首先,我们来...
在EXTJS中实现Window的最小化和还原功能是一项常见的需求,这有助于提升用户体验,让用户能够更方便地管理和组织窗口。 在EXTJS中,Window组件并不直接支持最小化功能,但可以通过自定义事件监听和处理来实现这一...
在"EXTJS窗口示例"中,我们将会探讨EXTJS如何实现窗口(Window)组件,以及与之相关的进度条(ProgressBar)和等待指示器(WaitIndicator)功能。 EXTJS的窗口组件提供了一种弹出式的界面元素,可以用来展示独立于...
在ExtJs 4.2版本中,`Window`组件是一个非常基础且重要的UI组件,它为开发者提供了一个灵活的弹出窗口解决方案。通过合理的配置,可以轻松实现各种弹出窗体的需求。 ### 配置属性详解 #### plain - **默认值**:`...
在ExtJS中,可以通过更换CSS样式表或使用SASS预处理器来实现主题切换。源代码中增加的主题切换功能可能涉及到动态加载不同的CSS资源,或者使用了ExtJS的Theme系统来实现。 4. **自定义组件**:为了扩展Desktop功能...
在使用EXTJS开发时,我们需要在HTML页面中引入EXTJS的核心样式表和JavaScript文件。这通常包括`extjs/resources/css/ext-all.css`,`extjs/adapter/ext/ext-base.js`和`extjs/ext-all.js`。`Ext.BLANK_IMAGE_URL`...
ExtJS 4.2 Desktop 拓展是一个用于构建桌面样式的Web应用程序的框架,它提供了丰富的用户界面组件和交互效果。这个拓展是基于ExtJS 4.2版本,一个非常强大的JavaScript库,用于创建数据驱动、富客户端的Web应用。在...
ExtJS提供了一套完整的UI组件,包括表格、树形视图、菜单、窗口、工具栏、面板等,这些组件都具有高度可定制性和响应式设计。框架使用MVC(Model-View-Controller)模式,有助于分离业务逻辑和界面展示,提高代码...
综上所述,这个“Extjs之--图片浏览器”项目涉及到了Ext JS的组件使用、数据绑定、样式设计、用户交互等多个方面,为开发者提供了一种用JavaScript实现图片浏览功能的解决方案。通过阅读提供的博客文章和分析...
EXTJS中的图形组件是其核心功能之一,这些组件使得开发者能够轻松地在Web页面上展示各种图表,如折线图、柱状图、饼图、散点图等。这些图形不仅美观,而且交互性强,支持动态更新数据,使得数据分析和展示变得更加...
例如,ExtJS提供的窗口(window)组件可以创建模态窗口和非模态窗口,对话框(dialog)组件则用于创建可拖拽和自定义大小的对话框。通过这些组件,可以非常方便地构建出功能丰富且具有良好用户体验的Web界面。 总之...
在给定的资料中,我们关注的是一个名为"信息提示小窗口Notification-ExtJS2.0.2"的项目,它是对ExtJS库的一个扩展,用于创建类似qwikiOffice中右下角的消息提示框。 首先,`ExtJS`是一个强大的JavaScript库,专为...
通过`ext-all.css`,开发者可以获得EXTJS 组件的基本外观,如按钮、表格、面板、窗口等。此外,EXTJS 还允许自定义样式,以满足特定项目的需求。如果希望减少加载时间,也可以选择更轻量级的`ext-theme-neptune.css`...
模态对话框在Extjs中被称作`Ext.window.Window`,它可以覆盖在页面其他元素之上,阻止用户与背景内容的交互,直到对话框被关闭。 首先,创建一个模态对话框的基本步骤如下: 1. 引入Extjs库:确保在HTML文件中正确...
2. **CSS样式**:用于控制EXTJS组件的外观和布局,开发者可以自定义样式以满足项目需求。 3. **图片资源**:EXTJS的图标和其他图形资源,用于美化组件和界面。 通过深入学习EXTJS 3.0的API、示例和源文件,开发者...
EXTJS的布局系统也是其强大之处,能够确保组件按照预定的方式进行排列和扩展。例如,`ContentBody`中的内容会根据窗口的`ContentBody`尺寸自动拉伸。 EXTJS的组件模型允许开发者创建复杂的用户界面,包括表格、表单...
3. **组件库**:ExtJS包含丰富的组件库,设计师可以从中选择并拖放到设计画布上,包括窗口、表格、表单、按钮、菜单、树形结构等。这些组件已经预先封装好各种功能,开发者只需根据需求进行配置即可。 4. **代码...
在`Extjs_Desktop`压缩包中,文件可能包括CSS样式文件、JavaScript源码文件、配置文件等。其中,源码文件通常会按照MVC模式组织,每个功能模块或组件都有对应的模型、视图和控制器。例如,可能会有`App.js`作为入口...