`
oywl2008
  • 浏览: 1053214 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

extjs通用CRUD方法

 
阅读更多
/**
* 添加事件
* @param {} saveButton
* @param {} gridObj
* @param {} idName
* @param {} treeObj
* @param {} url
* @param {} assistFunc
* @returns {}
*/
function commGridInsertAction(saveButton,gridObj,idName,treeObj,url,assistFunc){
if(saveButton != null && saveButton != undefined){
if(assistFunc){
assistFunc();
}
saveButton.on("click",function(){
var sd = gridObj.getStore();
conn.request({
url : url,
    params : {},
success: function(response, opts){//成功操作
var obj = Ext.decode(response.responseText)[0];
var Plant = gridObj.getStore().recordType;
                var p = new Plant(obj);
                gridObj.stopEditing();
                sd.insert(0, p);
               gridObj.startEditing(0, 2);
},
failure:function() {//失败操作
Ext.Msg.alert("提示", "添加数据失败...");
                }
        })
});
}
}
/**
* 删除事件
* @param {} deleteButton
* @param {} gridObj
* @param {} idName
* @param {} treeObj
* @param {} url
* @param {} assistFunc
* @returns {}
*/
function commGridDeleteAction(deleteButton,gridObj,idName,treeObj,url,params,assistFunc){
if(deleteButton != null && deleteButton != undefined){
if(assistFunc){
assistFunc();
}
deleteButton.on("click",function(b,e){
var sd = gridObj.getStore();
var rs = gridObj.getSelectionModel().getSelections();
var length = rs.length;
if(length > 0){
var ids_data = "";
var dis_array = new Array();
for (var i = 0; i < length; i++) {
if(i==0){
ids_data = rs[i].get(idName);
}else{
ids_data =  ids_data + ","+rs[i].get(idName);
}
dis_array.push(rs[i].get(idName));
}
var para = params;
para[idName] = ids_data;
conn.request({
url: url,
    params : para,
success: function(response){//成功操作
sd.reload();
//循环删除gird的垃圾数据
for (var i = 0; i < length; i++) {
sd.remove(rs[i]);
}
Ext.example.msg("提醒","您已经成功删除数据");
},
failure:function() {//失败操作
Ext.Msg.alert("提示", "删除数据失败...");
                }
            })
}else{
Ext.Msg.alert("提示", "您还没有选择要删除的数据...");
}
})
}
}
/**
* 批量更新
* @param {} listupdate
* @param {} gridObj
* @param {} treeObj
* @param {} url
* @param {} assistFunc
* @param {} canUpdateFields
* @returns {}
*/
function commGridListUpdateAction(listupdate,gridObj,treeObj,url,assistFunc,canUpdateFields){
if(listupdate != null && listupdate != undefined){
if(assistFunc){
assistFunc();
}
listupdate.on("click",function(){
var sd = gridObj.getStore();
var objs = sd.getModifiedRecords();
var objData = new Array();
var model = null;
if(objs.length == 0){
Ext.example.msg("提醒","没有要保存的数据");
return;
}else{
for(var i = 0 ; i<objs.length ;i++){
    model = {};
$.each(canUpdateFields,function(k,v){
model[k] = objs[i].get(k);
});
objData.push(model);
}
conn.request({
url : url,
params : {strData:JSON.stringify(objData)},
success: function(response, opts){//成功操作
var i = response.responseText;
for(var j = 0 ; j<objs.length ;j++){ //去掉修改的红色标记
objs[j].commit();
j--;
}
Ext.example.msg("提醒","您已经成功修改  "+i+" 条数据");
},
failure:function() {//失败操作
Ext.Msg.alert("提示", "保存数据失败...");
            }
         })
}
})
}
}






/**
* 数据字典表格时间注册
* @param {} gridObj
* @param {} idName
* @param {} treeObj
* @returns {}
*/
function userGridEventMonitor(gridObj,idName,treeObj){
/**添加事件*/
var saveButton = gridObj.getTopToolbar().findById("save-user");
new commGridInsertAction(saveButton,gridObj,idName,treeObj,"/dept/userAction.action?FunctionName=insertUser&checkNodeId="+gridObj.store.baseParams["checkNodeId"]);
/**删除事件*/
var deleteButton = gridObj.getTopToolbar().findById("delete-user");
new commGridDeleteAction(deleteButton,gridObj,idName,treeObj,"/dept/userAction.action?FunctionName=deleteUser&cascadeType=CASCADE",
{userId:{}},null);
/**批量更新事件*/
var listupdate = gridObj.getTopToolbar().findById("listupdate-user");
new commGridListUpdateAction(listupdate,gridObj,treeObj,
"/dept/userAction.action?FunctionName=listupdate",
null,{"userId" : null,
  "username" : null,
  "chineseName" : null,
  "password" : null,
  "updateDate" : null,
  "enabled" : null,
  "orderIndex" : null,
  "deptId" : null}
);
/**双击部门的事件*/
gridObj.on("celldblclick",function(g,rowIndex,columnIndex,e) {
var sd = g.getStore();
var cm = g.getColumnModel();
var id = cm.getDataIndex(columnIndex);
if("deptId" == id){
var deptID = sd.getAt(rowIndex).get("deptId");
var tree = new sms.treeDicWin.treeDicWin({width:250,height:500,
url:"/dept/deptAction.action?FunctionName=loadDept4Tree&showCheckbox=true&deptId=",
text:"海顿是公司",idName:"userId",DicidName:"deptId",g:g,rowIndex:rowIndex,columnIndex:columnIndex});
tree.show();
}else if("photosAdd" == id){
var dialog = new Ext.ux.UploadDialog.Dialog({
  url: 'upload.jsp',
  reset_on_hide: false,
  autoCreate: true, 
  closable: true, 
  allow_close_on_upload: true,
  permitted_extensions: ['JPG','jpg','jpeg','JPEG','GIF','gif'],  
  base_params:{className: "com.hd.department.model.user" }
  upload_autostart: false
});
dialog.show();
dialog.on("uploadsuccess", function(dialog, filename, resp_data, record){

});
}

});
分享到:
评论

相关推荐

    ASPnet+Extjs+网站通用后台框架

    4. 控制器(Controllers):ASP.NET MVC中的控制器接收来自ExtJS前端的请求,调用BLL方法,处理业务逻辑,并返回JSON或View结果。 5. 视图(Views):ExtJS负责生成动态的前端界面,通过Ajax与服务器进行异步通信,...

    extjs+java+mysql通用后台管理

    《EXTJS+Java+MySQL通用后台管理:构建高效B/S架构应用系统》 EXTJS,全称为Ext JavaScript Library,是一款强大的前端JavaScript框架,专为构建富客户端应用而设计。其强大的组件模型、丰富的UI控件以及对数据绑定...

    基于SpringBoot+ExtJS的企业应用系统通用平台的设计与实现.docx

    ### 基于SpringBoot+ExtJS的企业应用系统通用平台的设计与实现 #### 一、引言 在当今数字化转型的时代背景下,企业对于信息化管理的需求日益增长,这推动了企业应用系统的快速发展。为了提高开发效率,降低维护...

    ExtJS+SSH+Junit的Demo

    BaseDaoImpl通常是所有DAO实现类的基类,提供了通用的方法,如添加、删除、更新和查询等。同时,项目还利用了Junit的父类设计,这可能是指编写了一组测试基类,为具体的业务逻辑测试提供便利,通过继承这些基类,...

    extjs做的增删改查

    ExtJS是一种基于JavaScript的富...了解并熟练掌握这些知识点,开发者就能利用ExtJS和Struts2创建出高效、易用的Web应用,实现数据库的CRUD操作。在实际项目中,还需要结合具体的业务需求和数据库设计进行调整和优化。

    通用后台管理系统(ExtJS 4.2+Hibernate 4.1.7+Spring MVC 3.2.8).docx

    《通用后台管理系统——基于ExtJS 4.2+Hibernate 4.1.7+Spring MVC 3.2.8的高效框架》 本通用后台管理系统是一款高效、稳定且灵活的开发框架,适用于构建OA、网站、电子政务、ERP、CRM、APP后台等多种B/S架构的应用...

    通用后台管理系统(ExtJS 5.1 + Hibernate 4.1.7 + Spring MVC 3.2.8).pdf

    《通用后台管理系统:基于ExtJS 5.1 + Hibernate 4.1.7 + Spring MVC 3.2.8的高效框架》 该系统是一种高度可定制和可扩展的后台管理解决方案,适用于OA(办公自动化)、网站、电子政务、ERP(企业资源规划)、CRM...

    Extjs学习笔记之九 数据模型(上)

    `Ext.data.DataProxy`是数据代理的抽象基类,实现了数据代理的通用接口。其中最重要的方法是`doRequest`,用于从不同的数据源读取数据。具体的`Proxy`类包括: - **HttpProxy**:最常见的代理类型,通过HTTP请求从...

    ExtJS 2.2 图书管理系统_bmsh(毕设 + 课设).zip

    这个系统展示了如何使用ExtJS构建一个完整的Web应用,并结合Java后端实现数据的CRUD操作和业务流程控制。通过学习这个项目,开发者可以深入理解前后端交互机制,MVC模式的应用,以及如何在实际项目中组织和管理代码...

    SSH2 注解 ExtJs前台 返回Json 的一个增删改查demo

    在注解方式下,我们不再需要XML配置,而是直接在类或方法上使用注解来声明依赖。 2. **Struts2**:作为控制层,Struts2遵循MVC模式,处理HTTP请求并调用业务逻辑。通过Action类和ActionMapping,Struts2可以将请求...

    log4Net详解(共2讲)

    3、ExtJs数据篇:主要介绍和数据库交互的相关组件及CRUD功能 4、项目实战篇: Extjs3.2+ASP.NET七层架构+设计模式+ log4j+WebSerice等技术国讯教育通用智能OA办公平台 适用对象 1、要求有一定的javascript语言和...

    struts2spring4hibernate4

    Struts2提供了丰富的拦截器(Interceptor)机制,可以实现如权限控制、日志记录等通用功能,且与Spring的整合使得依赖注入更加便捷。 **Spring4** 是一个全面的企业级应用开发框架,支持AOP(面向切面编程)、DI...

    ssh图示管理系统

    在图书管理系统中,Spring可以用来管理各个组件的生命周期,实现各服务间的解耦,并通过AOP实现如日志记录、事务管理等通用功能。 2. Struts框架:Struts是MVC(Model-View-Controller)设计模式的实现,主要用于...

    java程序员面试简历&#40;列子&#41;.doc.doc

    - 使用的技术栈:SSH(Struts2、Hibernate、Spring),Jquery,CRUD1,JBPM工作流,dom4j。 - 开发环境:MyEclipse 6.0,Tomcat 6.0,Oracle 10g。 - 项目描述:该系统基于SSH框架,管理公司的人力资源,提升效率...

    JBob开发手册

    - **通用功能**:内置了诸如用户管理、权限控制、多语言支持等功能模块,可以满足大多数企业级应用的基本需求。 - **设计理念**:遵循简约实用和约定优于配置的设计原则,力求减少不必要的配置步骤,简化开发流程,...

Global site tag (gtag.js) - Google Analytics