extjs通用CRUD方法,只要你传入相应的参数就能完成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){
}); }
}); (编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|