- 浏览: 4665 次
- 性别:
- 来自: 广州
最近访客 更多访客>>
最新评论
-
wangjia4202:
看完了,但是不是知道想要表达什么意思,楼主能不能解释一下... ...
读取properties数据库配置文件
贴一段自己写的代码。sorry,没有解释,有空再说吧。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <script type="text/javascript"> var assign=function(value){ MainPanel=Ext.getCmp('MainPanel'); var n=MainPanel.getComponent("assignCostcenter"); if(!n){ var n = MainPanel.add({ id :"assignCostcenter", title :"为用户分配Cost Center", closable :true, autoLoad : { url :'/OA2/profplan/assigncostcenter!index.action', scripts :true, scope :this, params :{ userid:value }, nocache: true, callback: function(response,success ){ }, text: "正在加载<font color='red'>【分配Cost Center】</font>页面.........请稍后!" } }); }else{ n.getUpdater().update({ url :'/OA2/profplan/assigncostcenter!index.action', params :{ userid:value }, nocache: true, text: "正在加载<font color='red'>【分配Cost Center】</font>页面.........请稍后!" }); } MainPanel.setActiveTab(n); }; Ext.onReady(function(){ Ext.BLANK_IMAGE_URL = '../../../Ajax/extjs/resources/images/default/s.gif'; Ext.QuickTips.init(); var changeStatus=function(value){ if(value==1){ return "<span style='color:green;font-weight:bold;'>激活</span>"; }else{ return "<span style='color:red;font-weight:bold;'>禁止</span>"; }; }; var assignCostCenter=function(value){ return '<a href="#" style="text-decoration:none;" onclick="assign('+value+')">'+'分配Cost Center'+'</a>'; }; var height=Ext.get('MainPanel').getHeight(); var sm = new Ext.grid.CheckboxSelectionModel({}); var cm = new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(),//自动行号 sm,//添加的地方 {header:'用户名',dataIndex:'username'}, {header:'英文名',dataIndex:'ename'}, {header:'部门',dataIndex:'dept'}, {header:'账号状态',dataIndex:'status',renderer:changeStatus}, {header:'分配Cost Center',dataIndex:'id',renderer:assignCostCenter} ]); cm.defaultSortable = true; sm.on("selectionchange",function(sm){ //控制toolbar的状态 var count=sm.getCount(); if(count==1){ grid.getTopToolbar().items.item(2).enable();//删除 grid.getTopToolbar().items.item(4).enable();//修改 }else if(count>=2){ grid.getTopToolbar().items.item(2).enable(); grid.getTopToolbar().items.item(4).disable(); }else if(count==0){ grid.getTopToolbar().items.item(2).disable(); grid.getTopToolbar().items.item(4).disable(); }; }); var store = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ method: 'GET', url: '/OA2/profplan/profuser!getProfUser.action' }), reader: new Ext.data.JsonReader({ totalProperty:"totalProperty", root:"root", fields:['id','sysuerid','dept','username','ename','status'] }) }); store.load({params:{start:0,limit:20}}); var pagingBar = new Ext.PagingToolbar ({ pageSize: 20, store: store, autoScroll:true, displayInfo : true, beforePageText : '第', afterPageText : '页共 {0} 页', displayMsg : '显示 {0} - {1},共 {2} 条', emptyMsg : '没有数据需要显示' }); var grid = new Ext.grid.GridPanel({ title:'用户信息表', renderTo: 'profuser', ds: store, cm: cm, sm:sm, tbar:[{ text:'添加新用户', listeners:{ 'click':function(){ User_CURD.addUser(""); }, scope:this } },'-',{ text:'编辑用户', width:12, disabled:true, handler:function(){ var data=grid.getSelectionModel().getSelected(); User_CURD.addUser(data); } },'-',{ text:'删除用户', width:12, disabled:true, handler:function(){ Ext.Msg.confirm('提示','真的要删除该用户吗?',function(btn){ if(btn=='yes'){ var data=grid.getSelectionModel().getSelections(); if(data.length>1){ var info="这"+data.length+"条"; }else{ var info="用户名为:"+data[0].get('username')+"的"; } var id=""; for(var i=0;i<data.length;i++){ id+=data[i].get('id')+','; } Ext.Msg.confirm('提示','<font color="red">确定要删除'+info+'记录吗?警告:同时会删除与之相关的数据</font>',function(bt){ if(bt=='yes'){ Ext.Ajax.request({ url:'/OA2/profplan/profuser!delProfUser.action', method:'Post', params:{ id:id }, success:function(o){profUserNew.successFn(o,'','')}, failure:function(o){profUserNew.successFn(o)} }); } }) } }); } },'-','按姓名搜索:',new Ext.form.ComboBox({store:store,typeAhead:true,triggerAction:'all',mode:'local',displayField :'username'})], height:height-35, autoScroll :true, region:'center', layout:"fit", margins:'0 0 0 0', autoWidth : true, bbar:pagingBar }); //以下是对增删改成用户 var ClearUserWind=function(grid,yes){//清除user_Wind数据 if(yes){ grid.ownerCt.findByType("textfield")[0].setValue(''); } grid.ownerCt.findByType("textfield")[1].setValue(''); grid.ownerCt.findByType("textfield")[2].setValue(''); }; var User_CURD=function(){ return{ addUser:function(data){ var user_Wind=new Ext.Window({ //创建一个window title:data==""?'添加新用户':'编辑用户', width:440, height:200, frame:true, buttonAlign:'center', modal:true, layout:'form', id:data==""?new Date().getSeconds():data.get('id'), plain:true, bodyStyle:{padding:'5px,5px,5px,5px'}, buttons :[{ text:'保存', handler:function(){ var par; var win=this.ownerCt; var grid=this.ownerCt.findByType("grid")[0]; if(!grid){ par="{'id':this.ownerCt.findByType('hidden')[0].getValue(),"+ " 'sysuerid':this.ownerCt.findByType('hidden')[1].getValue(),"+ " 'dept':this.ownerCt.findByType('textfield')[2].getValue(),"+ " 'username':this.ownerCt.findByType('textfield')[0].getValue(),"+ " 'ename':this.ownerCt.findByType('textfield')[1].getValue(),"+ " 'status':this.ownerCt.findByType('combo')[0].getValue() }"; }else{ var data=grid.getSelectionModel().getSelected() ; if(grid.getSelectionModel().getCount()<=0){ Ext.Msg.alert("提示","请选择你要添加的用户!"); return ; } par="{'id':'',"+ " 'sysuerid':data.get('id'),"+ " 'dept':data.get('dept'),"+ " 'username':data.get('name'),"+ " 'ename':data.get('ename'),"+ " 'status':this.ownerCt.findByType('combo')[0].getValue() }"; } Ext.Ajax.request({ url: '/OA2/profplan/profuser!saveProfUser.action', method:'Post', params: eval('(' + par +')'), success: function(o){profUserNew.successFn(o,win,'')}, failure: function(o){profUserNew.failedFn(o,'','')} }); } },{ text:'取消', handler:function(){ this.ownerCt.close(); } }], defaults:[{labelWidth:20}], items:[{ layout:'column', baseCls:'x-plain', items:[{ columnWidth:.7, layout:'form', baseCls:'x-plain', items:[{ xtype:'textfield', width:180, name:'EmpInfo', fieldLabel:'用户姓名', readOnly:data!="", value:data!=""?data.get("username"):data, allowBlank:false }] },{ columnWidth:.3, layout:'form', baseCls:'x-plain', items:[{ xtype:'button', text:'搜素', width:14, disabled:data==""?false:true, handler:function(){ var win=this.ownerCt.ownerCt.ownerCt; ProfUserGrid(win); } }] }] },{ layout:'form', baseCls:'x-plain', items:[new Ext.form.Hidden({name:'id',value:data!=""?data.get("id"):''}), new Ext.form.Hidden({name:'sysuerid',value:data!=""?data.get("sysuerid"):''}),{ fieldLabel:'英文名',readOnly:true,name:'ename',xtype:'textfield', value:data!=""?data.get("ename"):data,width:240 },{ fieldLabel:'部门',readOnly:true, name:'dept',xtype:'textfield', value:data!=""?data.get("dept"):data,width:240 },{ fieldLabel:'账号状态',xtype:'combo',width:240, mode:'local',name:'activity',readOnly:true, triggerAction:'all',typeAhead:true,forceSelection:true, valueField:'value',displayField:'activity', value:data!=""?data.get("status"):"1", store:new Ext.data.SimpleStore({ data:[['激活',1],['禁止',0]], fields:['activity','value'] }) }] }] }).show(); var ProfUserGrid=function(win){ var wait=Ext.Msg.wait('请稍后','正在帮您搜索!',''); var username=win.findByType('textfield')[0].getValue(); if(username==""){ Ext.Msg.alert("服务器提示","请输入员工姓名后再搜索!"); return false; } var grid=win.findByType("grid")[0]; if(!grid){//如果grid不存在 var ds=new Ext.data.Store({ //autoLoad:true, proxy: new Ext.data.HttpProxy({ method: 'GET', url:encodeURI('/OA2/profplan/profuser!searchUser.action?username='+username)}), reader: new Ext.data.JsonReader({ totalProperty:"totalProperty", root:"root", fields:['id','name','ename','dept','empCode','empId'] }) }); ds.load({params:{start:0,limit:3}}); grid=new Ext.grid.GridPanel({ //搜索后的grid height:155, hidden:true, title:"<font color='red'>搜索结果如下---请选择或重新搜索</font>", xtype:'grid', width:540, frame:true, ds: ds, cm: new Ext.grid.ColumnModel([ new Ext.grid.CheckboxSelectionModel({singleSelect :true}), {header:'中文名',dataIndex:'name'}, {header:'英文名',dataIndex:'ename'}, {header:'部门',dataIndex:'dept'} , {header:'员工卡号',dataIndex:'empCode'} ]), sm:new Ext.grid.CheckboxSelectionModel({ singleSelect :true , listeners:{'selectionchange':function(sm){ var count=sm.getCount(); if(count>0){ var data=sm.getSelected(); grid.ownerCt.findByType("hidden")[1].setValue(data.get('id')); grid.ownerCt.findByType("textfield")[0].setValue(data.get('name')); grid.ownerCt.findByType("textfield")[1].setValue(data.get('ename')); grid.ownerCt.findByType("textfield")[2].setValue(data.get('dept')); }else{ ClearUserWind(grid,true); } }}}), autoScroll :true, margins:'0 0 0 0', bbar:new Ext.PagingToolbar ({ pageSize: 3, store: ds, autoScroll:true, displayInfo : true, beforePageText : '第', afterPageText : '页共 {0} 页', displayMsg : '显示 {0} - {1},共 {2} 条', emptyMsg : '没有数据需要显示' }) }); win.add(grid); grid.setVisible(true); win.setHeight(300); win.setWidth(460); win.doLayout(); wait.hide(); } else{//grid存在,刷新stroe ClearUserWind(grid,false); ds= grid.getStore(); ds.proxy.conn.url=encodeURI('/OA2/profplan/profuser!searchUser.action?username='+username); //ds.load({params:{start:0,limit:3}}); ds.reload(); wait.hide(); } } } } }(); var profUserNew=function (){ return{ successFn:function(o,win,obj){ if(typeof o==="object"){ var result = Ext.decode(o.responseText); if(result.success==='true'){ if(win!=''){ Ext.Msg.alert('服务器响应','恭喜你,该记录已经保存成功!'); win.close(); }else{ Ext.Msg.alert('服务器响应','恭喜你,该记录已经删除成功!'); } grid.getStore().reload(); }else if(result.success==='conflick'){ Ext.Msg.alert('服务器响应','已经存在一条记录相同的用户名,请重新输入!'); }else{ Ext.Msg.alert('服务器响应','操作失败,请检查操作,请重试!'); } } }, failedFn:function(o){ Ext.Msg.alert('服务器响应','操作失败,服务器错误,请重试!'); } } }() }) </script> </head> <body> <div id='profuser'></div> </body> </html>
相关推荐
使用java,extjs,配合后台oracle数据库的代码框架,这段代码是extjs的grid的一个详细案例使用java,extjs,配合后台oracle数据库的代码框架,这段代码是extjs的grid的一个详细案例使用java,extjs,配合后台oracle...
EXTJS组件有自己的生命周期,包括创建、渲染、显示、隐藏、销毁等阶段,开发者可以监听和处理这些生命周期事件。 9. **布局管理**: EXTJS提供了多种布局模式,如Fit、Border、Form、Table等,用于控制组件在容器...
EXTJS 是一个强大的JavaScript 框架,专用于构建富客户端Web应用程序。它以其丰富的组件库、可定制性以及响应式设计而闻名。在EXTJS项目中,图标扮演着重要的角色,它们不仅可以提升用户界面的视觉吸引力,还能帮助...
ExtJs是一种基于JavaScript的框架,它主要用于开发富互联网应用程序(Rich Internet Applications,RIA)。它主要特点包括优雅的用户界面,跨浏览器的控件,以及丰富的API和真实的控件,这些特点使得ExtJs成为一个...
- **Extjs命名空间的定义**: 命名空间是一种组织代码的方式,可以避免全局变量污染。 - **ExtjsOOP**: 讲解了Extjs中如何利用面向对象编程实现组件的封装和重用。 - **配置(config)选项**: 详细解释了Extjs中配置...
你会了解到ExtJS是如何通过组件化的思想来构建页面,每个组件都有自己的生命周期、属性、方法和事件,这使得代码复用和维护变得简单。 接下来,"环境搭建"章节将指导你配置开发环境。这通常包括下载和安装ExtJS库,...
在编写EXTJS代码时,IDE如MyEclipse可以提供代码自动补全功能,根据上下文和已有的类库自动给出可能的函数或变量名,帮助开发者快速准确地输入代码,减少错误并提高编码速度。 在MyEclipse中使用EXTJS框架,首先...
### EXTJS Panel 知识点解析 ...在本示例中,我们通过一段简单的HTML代码及JavaScript脚本创建了一个基本的EXTJS `Panel`实例。首先,我们需要引入EXTJS的核心样式表和脚本文件,如下所示: ```html ...
ExtJs 4 用了一段时间了,今天研究了下ExtJs4的MVC机制,感觉还挺好,建议大家尝试,所以就写了一个demo,帮助那些对ExtJs还不是很懂,或者想用ExtJs4却又不知道怎么做好的朋友。。。多余话不说了大家如果有什么不...
4. **代码生成**:编译器会自动生成EXTJS代码,这通常是基于EXTJS的MVC(Model-View-Controller)架构,使生成的代码结构清晰、易于维护。 5. **项目管理**:除了单个页面的设计,编译器还可能支持整个项目的管理,...
ExtJS是一种基于JavaScript的富客户端应用框架,由Sencha公司开发。它提供了丰富的组件库,用于构建复杂的Web应用程序,尤其适合企业级应用。在“ExtJS开发插件及Ext包”这个主题中,我们将深入探讨如何利用ExtJS...
在Web开发领域,特别是使用ExtJS框架进行界面设计时,文件上传功能是必不可少的一部分。然而,随着ExtJS版本的更新,原有的多文件上传组件可能不再兼容新版本。本篇文章将详细介绍如何针对ExtJS 3.x版本定制和优化一...
主要功能包括代码提示、智能补全等,使得开发者能够在编写Extjs代码时获得类似Java编程的体验。 **3.2 安装Spket插件** 安装Spket插件的具体步骤如下: 1. 打开Eclipse,选择“Help”菜单下的“Install New ...
ExtJS 是一个流行的JavaScript框架,主要用于构建富客户端Web应用程序。它的4.07版本是一个重要的迭代,提供了许多改进和修复,以增强应用的性能和用户体验。"ExtJS 4.07 Build目录"指的是该版本的构建输出,包含了...
插件是包含特定功能的一段代码,它可以注入到ExtJS的组件中,以添加新的行为或修改现有组件的功能。开发插件的基本步骤包括定义插件类、实现插件功能和将插件与组件关联。 1. **定义插件类**: 在ExtJS中,插件...
这段代码将所有边框(除了底部)设置为0像素,而底部边框颜色设为黑色,宽度为1像素。 2. `inputWrapCls`和`triggerWrapCls`: 这两个属性用于添加自定义类到输入框包裹元素和触发器(如下拉箭头)的包裹元素上。...
6. **注释**:文件中提到的修改处有注释,这有助于其他开发者理解和维护这段代码,注释应该详细说明了所做的改变以及为什么要这样做。 在实际开发过程中,我们还需要确保这个自定义的下拉树组件能够与其他ExtJs组件...
总的来说,"jsp extjs Efs管理系统"项目提供了一个集成了JSP、EXTJS和多种数据库的实例,对于学习Web开发、特别是Java Web和前端框架的融合应用,具有很高的参考价值。无论是初学者还是经验丰富的开发者,都能从中...
这段代码将当前活动页签的文本颜色设置为红色。其中, `.x-tab-active` 是Extjs中当前活动页签的CSS类名, `.x-tab-wrap` 是标签页签的容器, `.x-tab-button` 是标签页签的按钮, `.x-tab-inner` 是标签页签的内部...