- 浏览: 578303 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (206)
- Flask (1)
- JavaScript (3)
- Core Java (41)
- XML (1)
- Oracle (11)
- 软件安装及环境配置 (0)
- 其它 (9)
- 面试/笔试 (5)
- 项目 (0)
- JDBC (11)
- Servlet (4)
- MySql (4)
- JNDI (0)
- Hibernate (11)
- Java模式和构架设计 (0)
- Web设计 (22)
- JSP (8)
- Struts (13)
- Tomcat (2)
- Marven (2)
- SVN (2)
- Swing/AWT (1)
- jQuery (2)
- ExtJS (8)
- Python (22)
- Flex (1)
- Django (7)
- 算法 (5)
- English (1)
- Twisted (1)
- Linux (3)
- Rails (1)
- SVG (3)
- PostgreSQL (1)
//######### LeftMenu ############## //Ext.ns()构建命名空间,跟Java中的包概念一样,实际上会新建一个类,下面这条语句就新建了4个类 Ext.ns("Morik", "Morik.Office", "Morik.Util", "Morik.Office.Department"); Morik.Office.LeftMenu = function(config) { var d = Ext.apply( {// default set width : 200, split : true, region : 'west', collapseMode :'mini', //在列的中间显示一个小三角 defaults : { border : false }, layoutConfig : { animate : true } }, config || {}); config = Ext.apply(d, { layout : 'accordion', collapsible : true //在菜单面板的右侧显示可隐藏按钮 }); Morik.Office.LeftMenu.superclass.constructor.call(this, config); //改进,并为增加了个配置项tree! for(var i=0;i<this.trees.length;i++) this.add({title:this.trees[i].getRootNode().text,items:[this.trees[i]]}); // 事件处理 this.addEvents('nodeClick'); this.initTreeEvent(); } Ext.extend(Morik.Office.LeftMenu, Ext.Panel, { initTreeEvent : function() { if(!this.items) return; for (var i = 0;i < this.items.length; i++) { var p = this.items.itemAt(i); if (p) var t = p.items.itemAt(0); if(t) t.on( { 'click' : function(node, event) { if (node && node.isLeaf()) { event.stopEvent(); this.fireEvent('nodeClick', node.attributes); } }, scope : this }); } } }) Morik.Office.CompanyPanel = function(config) { Morik.Office.CompanyPanel.superclass.constructor.call(this, config); // 加上服务器上的jsp数据生成 // 生成Company类型 var proxy = new Ext.data.HttpProxy( { url : 'company.jsp' }); var recordType = new Ext.data.Record.create([ { name : "id", type : "int" }, { name : "comNum", type : "string" }, { name : "comName", type : "string" }, { name : "comAddress", type : "string" }]); // 定义分析器 var reader = new Ext.data.JsonReader( { totalProperty : "results", root : "rows", id : "id" }, recordType); // 定义store var ds = new Ext.data.Store( { proxy : proxy, reader : reader }); this.ds=ds; // 第二,讲一下cm,grid var cm = new Ext.grid.ColumnModel( { defaultSortable : true, defaultWidth : 180, columns : [ { header : '编号', dataIndex : 'comNum' }, { header : '名称', dataIndex : 'comName' }, { header : '公司地址', width : 300, dataIndex : 'comAddress' }] }); var pagingBar = new Ext.PagingToolbar({ pageSize: 10, store: ds, displayInfo: true, displayMsg: '共有 {2},当前显示 {0} - {1}条', emptyMsg: "没有数据" }); var grid = new Ext.grid.GridPanel( { cm : cm, store : ds, width : 660, height : 400, bbar:pagingBar, loadMask:{msg:'正在载入数据,请稍等...'}, title : '公司列表' }); //ds.load(); this.add(grid); // 第三、调整,tbar分页,工具栏 } Ext.extend(Morik.Office.CompanyPanel, Ext.Panel, {}); Ext.ns("Morik", "Morik.Office", "Morik.Util", "Morik.Office.Department"); Morik.Office.MainingPanel = Ext.extend(Ext.TabPanel, { initComponent : function() { // 一些初始化工作 Morik.Office.MainingPanel.superclass.initComponent.call(this); this._cache = {}; }, loadTab : function(node) { var n = this.getComponent(node.id); if (n) { this.setActiveTab(n); } else { var c = { 'id' : node.id, 'title' : node.text, closable : true }; var pn = this.findPanel(node.id); n = this.add(pn ? new pn(c) : Ext.apply(c, { html : '你还没有实现该页面!' })) n.show().doLayout(); } if (n.ds) n.ds.load({params:{start:0, limit:10}}); }, findPanel : function(name) { var ret = this._cache[name]; if (!ret) { var pn = (this.ns ? this.ns : 'Morik.Office') + "." + Ext.util.Format.capitalize(name) + 'Panel'; var ret = eval(pn); } return ret; }, addPanel : function(name, panel) { if (!this._cache) this._cache = {}; this._cache[name] = panel; } }); Ext.onReady(function() { Ext.BLANK_IMAGE_URL = 'pic/s.gif'; Ext.QuickTips.init(); Ext.lib.Ajax.defaultPostHeader += ";charset=utf-8"; // 1、创建head部分 var head = new Ext.Panel( { region : 'north', border : false, html : '<div style="background:url(pic/main1.gif) repeat-x; height:78px;"></div>', height : 80 }); // 2、创建foot部分 var foot = new Ext.Panel( { region : 'south', html : '<div style="background:url(pic/main2.gif) repeat-x; height:33px; ">' + '<div style="float:left;font:normal 12px tahoma, arial, sans-serif, 宋体;margin:10px 0 0 10px;">' + 'Power By: <span style="color:blue">彭仁夔</span> </div>' + '<div style="float:right;margin:10px;font:normal 12px tahoma, arial, sans-serif, 宋体;" >' + '版权所有:<a href="http://www.morik.com">www.morik.com</a></div>' + '</div>', height : 35 }); // 3、创建leftMenu部分 // var leftmenu = new Ext.Panel( { // region : 'west', // html : '<div>导航菜单</div>', // width : 200 // }); // 4、创建主内容部分 // var mainTab = new Ext.Panel( { // region : 'center', // html : '<div>主内容部分</div>' // }); var t1 = new Ext.tree.TreePanel( { border : false, rootVisible : false, root : new Ext.tree.AsyncTreeNode( { text : "我的办公桌", expanded : true, children : [ { id : "docRec", text : "接收公文", leaf : true }, { id : "docSend", text : "发送公文", leaf : true }, { id : "docManage", text : "公文管理", leaf : true }] }) }); var t2 = new Ext.tree.TreePanel( { border : false, rootVisible : false, root : new Ext.tree.AsyncTreeNode( { text : "主数据管理", expanded : true, children : [ { id : "department", text : "部门管理", leaf : true }, { id : "company", text : "公司管理", leaf : true }, { id : "permissions", text : "权限管理", children : [ { id : "permission", text : "权限管理", leaf : true }, { id : "permissionType", text : "权限类别", leaf : true }] }] }) }); var leftmenu = new Morik.Office.LeftMenu( { title : '我的办公系统', // items : [ { // title : '我的办公桌', // items : [t1] // }, { // title : '主数据管理', // items : [t2] // }] trees : [t1, t2] }); var mainTab = new Morik.Office.MainingPanel( { style : 'padding:0 6px 0 0', autoScroll : true, region : 'center', deferredRender : false, activeTab : 0, resizeTabs : true, inTabWidth : 100, tabWidth : 90, enableTabScroll : true, items : [{ title : '我的首页', html : '<div style="background:url(pic/main.gif) no-repeat center middle; height:508px;"></div>' }] }); // 5、建立leftmenu和mainTab两者之间的关系 leftmenu.on("nodeClick", function(nodeAttr) { mainTab.loadTab(nodeAttr); }); // 6、创建布局 var viewport = new Ext.Viewport( { layout : 'border', style : 'border:#024459 2px solid;', items : [head, foot, leftmenu, mainTab] }); });
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>员工管理系统</title> <link href="ext/resources/css/ext-all.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="ext/adapter/ext/ext-base-debug.js"></script> <script type="text/javascript" src="ext/ext-all-debug.js"></script> <script type="text/javascript" src="index.js"></script> </head> <body> <div id='deskTree'></div> <div id='mainTree' ></div> <div id='sysTree' ></div> </body> </html>
发表评论
-
EXT的事件和类
2011-04-17 08:44 11932.11自定义事件Ext.onReady( ... -
ExtJS API或官方例子不能显示问题
2011-04-16 23:12 1296Question: 如果你解压Ext后,直接打 ... -
安装ExtJs的开发工具Spket
2011-04-16 22:48 1129目前开发ExtJs程序最流行的工具是Spket,有较好地提示功 ... -
Ext shouye
2011-04-13 20:36 994<%@ page language="java ... -
Ext增删改查
2011-04-13 07:49 1792<%@ page language="java ... -
Ext验证码
2011-04-13 07:47 1930package com.hisoft.ems.servlet; ... -
Ext提交
2011-04-12 01:10 1127/** * 不带验证码的登录框 */ Ext.onR ...
相关推荐
### ExtJS 表格布局小例子详解 #### 一、简介 本文档旨在解析一个具体的 ExtJS 表格布局小例子,重点介绍其中涉及的数据存储、数据删除与添加的方法。ExtJS 是一款强大的 JavaScript 框架,用于构建交互式的前端...
ext做简单布局,ext简单布局,直接修改即可使用ext简单布局,直接修改即可使用ext简单布局,直接修改即可使用
EXT后台简单布局,很好的,好用!!!!
ext布局和菜单设计整理
接着,`ext22/adapter/ext/ext-base.js`是基础脚本,定义了ExtJS的核心功能和基础类,而`ext22/ext-all.js`包含了完整的ExtJS库,依赖于`ext-base.js`,因此必须先导入。 在创建ExtJS应用时,一个常见的入门示例是...
在Ext JS这个强大的JavaScript框架中,布局管理是构建复杂用户界面的关键部分。本文将深入探讨“Ext table布局实例”以及“formpanel的table布局”,帮助开发者更好地理解和运用这两种布局方式。 首先,我们要理解...
在Ext JS这个强大的JavaScript库中,布局管理是构建复杂用户界面的关键部分。布局决定了组件如何在容器内排列和适应不同的屏幕尺寸。本篇文章将深入探讨Ext中常用的两种布局:Fit布局和Border布局,为初学者提供详细...
### EXT 布局 Layout 资料详解 #### 6.1 布局概述 在 Ext JS 中,布局(Layout)是一个重要的概念,它指的是容器组件内子元素的排列方式。Ext JS 的所有容器组件都支持布局操作,并且每个容器都有一个对应的布局...
用Ext的Panel实现了简单布局,并在左侧显示树形菜单
ext2.0 layout布局(使用viewport),将其部署到php服务器上,可以查看效果:适合一般的应该工作界面,有滑动菜单和树形菜单等,初步实现了一个不错的应用视图框架
Ext 2.0布局实例的例程
这是Ext简单布局的示例代码,Ext版本:3.3
Ext.Window 通过DIV布局,通过DIV填充window内容,带Ext所需文件。
Ext页面框架布局,只需提供菜单数据,然后配置一下周边区域对象即可。菜单数据格式如下:var tempDataArray = [ { id: 'uaMgtTree', text: 'UA模块管理', items: [ { id: 'ticketMgtRoot', text: '凭证...
NULL 博文链接:https://hoochiang.iteye.com/blog/1707954
使用EXT进行网站布局的一个例子,供大家参考。
Ext_Form精典布局
EXT2 文件系统是GNU/Linux操作系统中的标准文件系统,其磁盘布局是理解EXT2运作机制的关键。EXT2在Linux中扮演着重要角色,它负责管理和存储数据,为用户提供统一的文件操作接口。Linux支持多种文件系统,如EXT、EXT...
### Ext.Viewport布局详解 在前端开发领域,尤其是基于Ext JS框架进行应用设计时,`Ext.Viewport`布局是至关重要的概念。它提供了一个全面的、全屏的容器,用于组织和展示各种UI组件,如面板、表格、图表等。在给定...