| 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){
 
 });
 }
 
 });
 (编辑:宣城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |