大四毕业实习系统是一个中小企业级别的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初学者的一份宝贵资源,旨在帮助初学者快速入门EXT开发。 EXT的学习通常包括以下几个核心部分: 1. **EXT基础**:首先,你需要了解EXT的基本概念...
在阅读《Gwt-ext学习笔记.pdf》这份资料时,应重点学习上述知识点,并通过实践项目来加深理解。同时,关注Gwt-ext的更新和社区资源,以便获取最新的API信息和最佳实践。不断练习和探索,你将能够熟练运用Gwt-ext构建...
EXT,全称EXT JS,是一种基于JavaScript的前端框架,用于构建富互联网应用程序(RIA)。它提供了丰富的组件库,包括表格、...EXT学习笔记无疑是一个很好的辅助工具,它可以帮助学习者系统地掌握EXT框架,提升开发效率。
【Yui_ext 学习笔记】 Yui_ext 是基于 Yahoo! UI Library (YUI) 的扩展,主要用于构建富客户端的 Web 应用程序。这篇学习笔记主要介绍了 Yui_ext 的基础知识,适合对 JavaScript 和 HTML DOM 有一定了解的初学者。 ...
本篇学习笔记将聚焦于如何使用Sencha Cmd工具来创建你的第一个Sencha Touch应用。 首先,你需要安装Sencha Cmd。这是一款命令行工具,简化了Sencha Touch应用的创建、构建和部署流程。你可以从Sencha的官方网站下载...
这篇EXT学习笔记主要涵盖了EXTJS中面向对象编程的一些关键概念和实践,包括命名空间、类定义、构造函数、属性与方法的访问控制(私有和公有)、静态属性与方法以及继承机制。 1. **命名空间**:在EXTJS中,命名空间...
在EXT学习笔记中,"What_is_that_Scope_all_about2.htm"可能涉及的是JavaScript作用域和EXT中的scope概念,这对于理解和调试EXT应用中的事件处理和回调函数至关重要。"JsonTool.htm"可能介绍了EXT如何与JSON数据进行...
### ExtJS4学习笔记知识点总结 #### 1. ExtJS4组件创建方式的更新 在ExtJS4版本中,创建Ext组件的方式有所更新。引入了`Ext.create`方法,这是一种更灵活的组件创建方式。`Ext.create`允许开发者动态加载组件所需...
### Gwt-ext学习笔记之基础篇 #### 一、安装CypalStudio工具 为了能够开始Gwt-ext的学习之旅,首先需要确保开发环境已经搭建好。CypalStudio是一款非常实用的工具,它能帮助开发者更高效地进行GWT项目的开发。 1....
### GWT-EXT基础知识详解 #### 一、GWT与GWT-EXT简介 Google Web Toolkit (GWT) 是一款由Google开发的开源...这为后续深入学习GWT-EXT提供了坚实的基础。接下来,可以根据实际需求进一步探索更多高级特性和技术细节。
而Ext Js是一个JavaScript库,提供了丰富的用户界面组件,用于构建现代Web应用。 GWT-Ext是这两者的结合,它继承了GWT的Java编程模型和Ext Js的精美UI组件。这使得开发者可以利用Java的强大和类型安全,同时享受Ext...
标题中的"Gwt-Ext学习笔记之基础篇"指的是关于Gwt-Ext的初级教程,这是一种基于Google Web Toolkit (GWT) 的扩展库,用于构建富互联网应用程序(RIA)。Gwt-Ext提供了丰富的用户界面组件,使得开发者可以利用Java语言...
Sencha Touch提供了一系列预定义的组件,如Ext.List、Ext.Panel等。你可以根据需要自定义组件,通过配置项设置组件的行为和外观。 - **控制器(Controller)**:`app/controller`下的控制器负责监听事件、管理视图...
### Ext2.0学习笔记:深入理解Ajax与Ext框架 #### Ajax:实现异步无刷新数据交换的关键技术 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它利用了...
Ext是一个JavaScript库,主要用于构建富客户端应用程序,尤其是那些基于Web的桌面级应用。它提供了一套完整的组件模型、布局管理、数据绑定以及丰富的用户界面组件,使得开发者能够创建出功能强大的交互式网页应用。...
4. **网格(Grids)**:EXTJS的网格组件是其一大特色,支持复杂的数据展示和操作,如排序、过滤、分页、编辑等。 5. **表单(Forms)**:EXTJS的表单组件丰富多样,可以创建各种复杂的表单,并能方便地与服务器进行...
解决Ext遇到的基础问题,如组件的应用,Ext的布局,表单,Grid控件的讲解,还要一些综合应用