`
idealab
  • 浏览: 197806 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Ext学习笔记(一):组件

    博客分类:
  • Ajax
阅读更多
大四毕业实习系统是一个中小企业级别的HR系统,在用友实习期间钦佩于这家中国最大软件供应商里的智慧,实习期满之后便跃跃欲试想自己实现一个在脑海中酝酿已久的Web版HRMS(用友集团级软件eHR是B/S模式,页面端是纯Applet实现),本希望利用大量的页面来实现业务流程,但是发现ExtJS华丽外表和组件化风格(貌似其思想来源于Java Swing),故利用MySQL+Hibernate+Spring+ExtJS开发系统了。
数据库表的设计就不讲了,不堪回首啊,很惨,很复杂(自己给搞复杂了),就从Ext开始记录起吧。
Ext来源于Yahoo的YUI界面开发技术,其组件架构如下:


组件之间的组合可以呈现出我们想要的任何界面,在创建以及添加组件的时候需要注意到:1、组件创建形式:
var cmp = new Ext.Panel({title:'myCmp',html:'This is my Component',width:300,layout:'fit'});
每个创建组件所需参数都是JSON对象.
2、面板的布局方式:利用layout属性来定义,布局方式有以下几种:containerLayout,formLayout,tableLayout,columnLayout,borderLayout,anchorLayout,fitLayout,accordionLayout,具体介绍请看这里.

登录页面将formPanel对象作为items属性值添加到主Panel中,以下是我的登录页面代码:
// @author:Jerry Joe
// @time:2008.12.30
Ext.namespace("Ext.src");
Ext.src.roles = [['superadmin', '超级管理员'], ['admin', '系统管理员'], ['user', '系统用户']];
Ext.onReady(function() {
	var loginform = new Ext.form.FormPanel({
				title : 'Login Form',
				id : 'login_form',
				frame : true,
				height : 185,
				width : 280,
				defaultType : 'textfield',
				defaults : {
					width : 135,
					border : '5px'
				},
				labelAlign : 'left',
				buttonAlign : 'center',
				items : [new Ext.form.ComboBox({
									fieldLabel : '登入方式',
									name : 'loginas',
									hiddenName : 'logintype',
									emptyText : '请选择登入方式..',
									blankText : '必须选择登入方式',
									editable : false,
									allowBlank : false,
									store : new Ext.data.SimpleStore({
												fields : ['value', 'display'],
												data : Ext.src.roles
											}),
									valueField : 'value',
									displayField : 'display',
									mode : 'local',
									forceSelection : true,
									triggerAction : 'all'
								}), {
							fieldLabel : '用户名',
							name : 'username',
							allowBlank : false
						}, {
							fieldLabel : '密码',
							name : 'password',
							xtype : 'textfield',
							allowBlank : false,
							inputType : 'password'
						}, {
							fieldLabel : '登入日期',
							name : 'time',
							xtype : 'datefield',
							readOnly: true,
							format: 'y-m-d'
						}],
				buttons : [{
							text : '登入',
							handler : function() {
								// handler login
							}
						}, {
							text : '重置',
							handler : function() {
								// reset the fields
							}
						}]
			});
	var panel = new Ext.Panel({
				renderTo : 'main',
				title : 'Welcome to eHR',
				autoHeight : false,
				height : 500,
				layout : 'form',
				items : [loginform]
			});
	});


业务主页面利用Viewport组件,包含布局为accordionLayout的导航栏面板和主面板,代码如下:
Ext.onReady(function() {
			Ext.QuickTips.init();
			var navPanel = new Ext.Panel({
						region : 'west',
						contentEl : 'nav',
						id : 'nav_panel',
						name : 'navPanel',
						title : '导航栏',
						split : true,
						border : true,
					    collapsible : false,
						width : 200,
						minSize : 200,
						maxSize : 250,
						layout : 'accordion',
						layoutConfig : {
							animate : true
						},
						items : [{
									title : '系统管理',
									html : '<div id="tree-sysadmin"></div>'
								}, {
									title : '自助操作',
									html : '<div id="tree-selfoper"></div>'
								}]
					});
			var mainPanel = new Ext.Panel({
						region : 'center',
						contentEl : 'main',
						id : 'main_panel',
						name : 'mainPanel',
						title : '主操作界面',
						split : true,
						collapsible : true,
						border : true,
						layout : 'anchor'
					});
			var viewport = new Ext.Viewport({
						layout : 'border',
						items : [{
									region : 'north',
									contentEl : 'header',
									split : true, // 可改变框体大小
									border : true,
									collapsible : true, // 可收缩
									height : 72,
									minSize : 72,
									maxSize : 120
								}, {
									region : 'south',
									contentEl : 'footer',
									split : true,
									border : true,
									collapsible : true,
									height : 30,
									minSize : 30,
									maxSize : 50
								},navPanel, mainPanel]
					});

		});
  • 大小: 47.8 KB
  • 大小: 38.5 KB
  • 大小: 40.1 KB
分享到:
评论

相关推荐

    ext学习资料 20篇详细学习笔记 初学者ext学习的文档

    这份"ext学习资料 20篇详细学习笔记 初学者ext学习的文档"是针对EXT初学者的一份宝贵资源,旨在帮助初学者快速入门EXT开发。 EXT的学习通常包括以下几个核心部分: 1. **EXT基础**:首先,你需要了解EXT的基本概念...

    Gwt-ext学习笔记

    在阅读《Gwt-ext学习笔记.pdf》这份资料时,应重点学习上述知识点,并通过实践项目来加深理解。同时,关注Gwt-ext的更新和社区资源,以便获取最新的API信息和最佳实践。不断练习和探索,你将能够熟练运用Gwt-ext构建...

    十分有用有帮助的EXT学习笔记

    EXT,全称EXT JS,是一种基于JavaScript的前端框架,用于构建富互联网应用程序(RIA)。它提供了丰富的组件库,包括表格、...EXT学习笔记无疑是一个很好的辅助工具,它可以帮助学习者系统地掌握EXT框架,提升开发效率。

    Yui_ext 学习笔记

    【Yui_ext 学习笔记】 Yui_ext 是基于 Yahoo! UI Library (YUI) 的扩展,主要用于构建富客户端的 Web 应用程序。这篇学习笔记主要介绍了 Yui_ext 的基础知识,适合对 JavaScript 和 HTML DOM 有一定了解的初学者。 ...

    Sencha touch学习笔记一:用Sencha Cmd方式创建第一个应用

    本篇学习笔记将聚焦于如何使用Sencha Cmd工具来创建你的第一个Sencha Touch应用。 首先,你需要安装Sencha Cmd。这是一款命令行工具,简化了Sencha Touch应用的创建、构建和部署流程。你可以从Sencha的官方网站下载...

    EXT学习笔记-项目应用实践

    这篇EXT学习笔记主要涵盖了EXTJS中面向对象编程的一些关键概念和实践,包括命名空间、类定义、构造函数、属性与方法的访问控制(私有和公有)、静态属性与方法以及继承机制。 1. **命名空间**:在EXTJS中,命名空间...

    ext api,ext 学习笔记,SWFUpload_多文件上传及部分工具

    在EXT学习笔记中,"What_is_that_Scope_all_about2.htm"可能涉及的是JavaScript作用域和EXT中的scope概念,这对于理解和调试EXT应用中的事件处理和回调函数至关重要。"JsonTool.htm"可能介绍了EXT如何与JSON数据进行...

    Ext学习笔记

    ### ExtJS4学习笔记知识点总结 #### 1. ExtJS4组件创建方式的更新 在ExtJS4版本中,创建Ext组件的方式有所更新。引入了`Ext.create`方法,这是一种更灵活的组件创建方式。`Ext.create`允许开发者动态加载组件所需...

    Gwt-ext学习笔记之基础篇

    ### Gwt-ext学习笔记之基础篇 #### 一、安装CypalStudio工具 为了能够开始Gwt-ext的学习之旅,首先需要确保开发环境已经搭建好。CypalStudio是一款非常实用的工具,它能帮助开发者更高效地进行GWT项目的开发。 1....

    (转载)GWT -EXT学习笔记-基础

    ### GWT-EXT基础知识详解 #### 一、GWT与GWT-EXT简介 Google Web Toolkit (GWT) 是一款由Google开发的开源...这为后续深入学习GWT-EXT提供了坚实的基础。接下来,可以根据实际需求进一步探索更多高级特性和技术细节。

    Gwt-Ext学习笔记之进级篇

    而Ext Js是一个JavaScript库,提供了丰富的用户界面组件,用于构建现代Web应用。 GWT-Ext是这两者的结合,它继承了GWT的Java编程模型和Ext Js的精美UI组件。这使得开发者可以利用Java的强大和类型安全,同时享受Ext...

    Gwt-Ext学习笔记之基础篇- www.hxiaseo.cn技术网站

    标题中的"Gwt-Ext学习笔记之基础篇"指的是关于Gwt-Ext的初级教程,这是一种基于Google Web Toolkit (GWT) 的扩展库,用于构建富互联网应用程序(RIA)。Gwt-Ext提供了丰富的用户界面组件,使得开发者可以利用Java语言...

    Sencha touch学习笔记二:自定义目录方式的创建第一个应用

    Sencha Touch提供了一系列预定义的组件,如Ext.List、Ext.Panel等。你可以根据需要自定义组件,通过配置项设置组件的行为和外观。 - **控制器(Controller)**:`app/controller`下的控制器负责监听事件、管理视图...

    Ext2.0的学习笔记

    ### Ext2.0学习笔记:深入理解Ajax与Ext框架 #### Ajax:实现异步无刷新数据交换的关键技术 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它利用了...

    Ext学习笔记-个人版.doc

    Ext是一个JavaScript库,主要用于构建富客户端应用程序,尤其是那些基于Web的桌面级应用。它提供了一套完整的组件模型、布局管理、数据绑定以及丰富的用户界面组件,使得开发者能够创建出功能强大的交互式网页应用。...

    ext学习笔记教程和实例

    4. **网格(Grids)**:EXTJS的网格组件是其一大特色,支持复杂的数据展示和操作,如排序、过滤、分页、编辑等。 5. **表单(Forms)**:EXTJS的表单组件丰富多样,可以创建各种复杂的表单,并能方便地与服务器进行...

    Ext学习笔记 解决Ext遇到的基础问题,如组件的应用,Ext的布局,表单,Grid控件的讲解,还要一些综合应用

    解决Ext遇到的基础问题,如组件的应用,Ext的布局,表单,Grid控件的讲解,还要一些综合应用

Global site tag (gtag.js) - Google Analytics