`
123629996
  • 浏览: 294397 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

ExtJs之窗口样式实现

阅读更多

大概学习了下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的布局方式。

  • 大小: 36.7 KB
0
1
分享到:
评论

相关推荐

    extjs12套皮肤样式

    EXTJS的皮肤通常包括CSS样式文件和相关的图片资源,这些资源共同定义了按钮、表格、面板、窗口等组件的颜色、字体、边框、背景等视觉元素。在"ext12套皮肤"这个压缩包中,包含了这十二种不同的皮肤样式,用户可以...

    ExtjS实现聊天功能

    在这个"ExtJS实现聊天功能"的项目中,我们将探讨如何利用ExtJS框架构建一个类似于QQ的聊天应用程序。 首先,我们要理解聊天功能的核心要素。一个基本的聊天应用通常包含以下部分: 1. **用户界面**:ExtJS提供了...

    Extjs实现用户登录

    在本文中,我们将深入探讨如何使用ExtJS框架实现一个用户登录功能。ExtJS是一个流行的JavaScript库,用于构建富客户端Web应用程序。以下是如何使用ExtJS创建一个简单的登录界面和处理登录逻辑的步骤。 首先,我们来...

    Extjs使用Window最小化窗口

    在EXTJS中实现Window的最小化和还原功能是一项常见的需求,这有助于提升用户体验,让用户能够更方便地管理和组织窗口。 在EXTJS中,Window组件并不直接支持最小化功能,但可以通过自定义事件监听和处理来实现这一...

    EXTJS窗口示例

    在"EXTJS窗口示例"中,我们将会探讨EXTJS如何实现窗口(Window)组件,以及与之相关的进度条(ProgressBar)和等待指示器(WaitIndicator)功能。 EXTJS的窗口组件提供了一种弹出式的界面元素,可以用来展示独立于...

    ExtJs4.2 Window常用方法

    在ExtJs 4.2版本中,`Window`组件是一个非常基础且重要的UI组件,它为开发者提供了一个灵活的弹出窗口解决方案。通过合理的配置,可以轻松实现各种弹出窗体的需求。 ### 配置属性详解 #### plain - **默认值**:`...

    ExtJS4中Desktop独立源代码+功能扩充

    在ExtJS中,可以通过更换CSS样式表或使用SASS预处理器来实现主题切换。源代码中增加的主题切换功能可能涉及到动态加载不同的CSS资源,或者使用了ExtJS的Theme系统来实现。 4. **自定义组件**:为了扩展Desktop功能...

    EXTJS讲解个人项目经历

    在使用EXTJS开发时,我们需要在HTML页面中引入EXTJS的核心样式表和JavaScript文件。这通常包括`extjs/resources/css/ext-all.css`,`extjs/adapter/ext/ext-base.js`和`extjs/ext-all.js`。`Ext.BLANK_IMAGE_URL`...

    extjs4.2 desktop 拓展

    ExtJS 4.2 Desktop 拓展是一个用于构建桌面样式的Web应用程序的框架,它提供了丰富的用户界面组件和交互效果。这个拓展是基于ExtJS 4.2版本,一个非常强大的JavaScript库,用于创建数据驱动、富客户端的Web应用。在...

    ExtJs-3.2.0.rar

    ExtJS提供了一套完整的UI组件,包括表格、树形视图、菜单、窗口、工具栏、面板等,这些组件都具有高度可定制性和响应式设计。框架使用MVC(Model-View-Controller)模式,有助于分离业务逻辑和界面展示,提高代码...

    Extjs之--图片浏览器

    综上所述,这个“Extjs之--图片浏览器”项目涉及到了Ext JS的组件使用、数据绑定、样式设计、用户交互等多个方面,为开发者提供了一种用JavaScript实现图片浏览功能的解决方案。通过阅读提供的博客文章和分析...

    EXTjs图开编程EXTJS

    EXTJS中的图形组件是其核心功能之一,这些组件使得开发者能够轻松地在Web页面上展示各种图表,如折线图、柱状图、饼图、散点图等。这些图形不仅美观,而且交互性强,支持动态更新数据,使得数据分析和展示变得更加...

    ExtJS入门教程(超级详细)

    例如,ExtJS提供的窗口(window)组件可以创建模态窗口和非模态窗口,对话框(dialog)组件则用于创建可拖拽和自定义大小的对话框。通过这些组件,可以非常方便地构建出功能丰富且具有良好用户体验的Web界面。 总之...

    信息提示小窗口Notification-ExtJS2.0.2

    在给定的资料中,我们关注的是一个名为"信息提示小窗口Notification-ExtJS2.0.2"的项目,它是对ExtJS库的一个扩展,用于创建类似qwikiOffice中右下角的消息提示框。 首先,`ExtJS`是一个强大的JavaScript库,专为...

    extjs中三个基础包

    通过`ext-all.css`,开发者可以获得EXTJS 组件的基本外观,如按钮、表格、面板、窗口等。此外,EXTJS 还允许自定义样式,以满足特定项目的需求。如果希望减少加载时间,也可以选择更轻量级的`ext-theme-neptune.css`...

    基于Extjs的模态对话框

    模态对话框在Extjs中被称作`Ext.window.Window`,它可以覆盖在页面其他元素之上,阻止用户与背景内容的交互,直到对话框被关闭。 首先,创建一个模态对话框的基本步骤如下: 1. 引入Extjs库:确保在HTML文件中正确...

    extjs3.0开发包含示例api

    2. **CSS样式**:用于控制EXTJS组件的外观和布局,开发者可以自定义样式以满足项目需求。 3. **图片资源**:EXTJS的图标和其他图形资源,用于美化组件和界面。 通过深入学习EXTJS 3.0的API、示例和源文件,开发者...

    界面框架extjs学习笔记

    EXTJS的布局系统也是其强大之处,能够确保组件按照预定的方式进行排列和扩展。例如,`ContentBody`中的内容会根据窗口的`ContentBody`尺寸自动拉伸。 EXTJS的组件模型允许开发者创建复杂的用户界面,包括表格、表单...

    ExtJS 界面设计器

    3. **组件库**:ExtJS包含丰富的组件库,设计师可以从中选择并拖放到设计画布上,包括窗口、表格、表单、按钮、菜单、树形结构等。这些组件已经预先封装好各种功能,开发者只需根据需求进行配置即可。 4. **代码...

    Extjs实现的桌面系统(MVC)

    在`Extjs_Desktop`压缩包中,文件可能包括CSS样式文件、JavaScript源码文件、配置文件等。其中,源码文件通常会按照MVC模式组织,每个功能模块或组件都有对应的模型、视图和控制器。例如,可能会有`App.js`作为入口...

Global site tag (gtag.js) - Google Analytics