测试

Ext.onReady(function() {  Ext.define('User', {     extend : 'Ext.data.Model',     fields : [{        name : 'userId',        type : 'int',        useNull : true//这样数字如果值为空则不会自动转成0,则提交时注意后台bean类中的属性int要用对象类型,否则解析出错       }, {        name : 'loginName',        type : 'string'       }, {        name : 'password',        type : 'string'       }, {        name : 'remark',        type : 'string'       }, {        name : 'roleId',        type : 'float',        useNull : true       }, {        name : 'rightId',        type : 'float',        useNull : true       }, {        name : 'platformNo',        type : 'string'       }, {        name : 'groupId',        type : 'float',        useNull : true       }, {        name : 'net',        type : 'string'       }, {        name : 'email',        type : 'string'       }, {        name : 'linkman',        type : 'string'       }, {        name : 'tel',        type : 'string'       }, {        name : 'fax',        type : 'string'       }, {        name : 'address',        type : 'string'       }],     idProperty : 'userId'// 极为重要的配置。关系到表格修改数据的获取    });

 var store = new Ext.data.Store({     model : 'User',     pageSize : 3,     proxy : {      type : 'ajax',      url : 'baseUsers.action',      reader : {       type : 'json',       root : 'pageBean.list',       totalProperty : 'pageBean.total'      }     },     autoLoad : false    });  var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', {     clicksToEdit : 2    });  var grid = Ext.create('Ext.grid.Panel', {   tbar : [ {      xtype : 'button',      text : '新增',      handler : add     },{      xtype : 'button',      text : '提交修改',      handler : alter     }, {      xtype : 'button',      text : '删除',      handler : otherDelete     }],   title : 'All Products',   store : store,   columnLines : true,   selModel : Ext.create('Ext.selection.CheckboxModel'),   columns : [{      header : 'userId',      dataIndex : 'userId',      hidden:true     }, {      header : 'loginName',      dataIndex : 'loginName',      editor : {       allowBlank : false      }     }, {      header : 'password',      dataIndex : 'password',      editor : {       allowBlank : false      }     }, {      header : 'remark',      dataIndex : 'remark',      editor : {       allowBlank : false      }     }, {      header : 'roleId',      dataIndex : 'roleId',      editor : {       allowBlank : false      }     }, {      header : 'rightId',      dataIndex : 'rightId',      editor : {       allowBlank : false      }     }, {      header : 'platformNo',      dataIndex : 'platformNo',      editor : {       allowBlank : false      }     }, {      header : 'groupId',      dataIndex : 'groupId',      editor : {       allowBlank : false      }     }, {      header : 'net',      dataIndex : 'net',      editor : {       allowBlank : false      }     }, {      header : 'email',      dataIndex : 'email',      editor : {       allowBlank : false      }     }, {      header : 'linkman',      dataIndex : 'linkman',      editor : {       allowBlank : false      }     }, {      header : 'tel',      dataIndex : 'tel',      editor : {       allowBlank : false      }     }, {      header : 'fax',      dataIndex : 'fax',      editor : {       allowBlank : false      }     }, {      header : 'address',      dataIndex : 'address',      editor : {       allowBlank : false      }     }],

  forceFit : true,   dockedItems : [{      xtype : 'pagingtoolbar',      store : store, // same store GridPanel is      // using      dock : 'bottom',      displayInfo : true     }],   renderTo : 'userMngDiv',   plugins : [cellEditing]    // autoRender:true   });  store.loadPage(1);  var p = parent.Ext.getCmp('contentTabs');  // alert(p);  function alter() {   var records = store.getUpdatedRecords();// 获取修改的行的数据,无法获取幻影数据   var phantoms=store.getNewRecords( ) ;//获得幻影行   records=records.concat(phantoms);//将幻影数据与真实数据合并   if (records.length == 0) {    Ext.MessageBox.show({     title : "提示",     msg : "没有任何数据被修改过!"      // icon: Ext.MessageBox.INFO     });    return;   } else {    Ext.Msg.confirm("请确认", "是否真的要修改数据?", function(button, text) {     if (button == "yes") {      var data = [];      // alert(records);      Ext.Array.each(records, function(record) {       data.push(record.data);        // record.commit();// 向store提交修改数据,页面效果       });

     Ext.Ajax.request({       url : 'alterUsers.action',       params : {        alterUsers : Ext.encode(data)       },       method : 'POST',       timeout : 2000,

      success : function(response, opts) {        var success = Ext.decode(response.responseText).success;        // 当后台数据同步成功时        if (success) {         Ext.Array.each(records, function(record) {            // data.push(record.data);            record.commit();// 向store提交修改数据,页面效果           });        } else {         Ext.MessageBox.show({          title : "提示",          msg : "数据修改失败!"           // icon: Ext.MessageBox.INFO          });        }       }      });     }    });

  }

 }  // 传递对象删除 // function deleteUsers() { //  var data = grid.getSelectionModel().getSelection(); //  // alert(data); //  if (data.length == 0) { //   Ext.MessageBox.show({ //    title : "提示", //    msg : "请先选择您要操作的行!" //     // icon: Ext.MessageBox.INFO //    }); //   return; //  } else { //   Ext.Msg.confirm("请确认", "是否真的要删除数据?", function(button, text) { //    if (button == "yes") { //     var ids = []; //     Ext.Array.each(data, function(record) { //        ids.push(record.data); //       }); //     Ext.Ajax.request({ //      url : 'deleteUsers.action', //      params : { //       deleteUsers : Ext.encode(ids) //      }, //      method : 'POST', //      // timeout : 2000,//默认30秒 //      success : function(response, opts) { //       var success = Ext.decode(response.responseText).success; //       // 当后台数据同步成功时 //       if (success) { //        Ext.Array.each(data, function(record) { //           store.remove(record);// 页面效果 //          }); //       } else { //        Ext.MessageBox.show({ //         title : "提示", //         msg : "数据删除失败!" //          // icon: Ext.MessageBox.INFO //         }); //       } // //      } //     }); //    } //   }); // //  } // }  // 编码ID删除  function otherDelete() {

  var data = grid.getSelectionModel().getSelection();   // alert(data);   if (data.length == 0) {    Ext.MessageBox.show({     title : "提示",     msg : "请先选择您要操作的行!"      // icon: Ext.MessageBox.INFO     });    return;   } else {    Ext.Msg.confirm("请确认", "是否真的要删除数据?", function(button, text) {     if (button == "yes") {      var ids = [];      Ext.Array.each(data, function(record) {         var userId=record.get('userId');         //如果删除的是幻影数据,则id就不传递到后台了,直接在前台删除即可         if(userId){          ids.push(userId);         }                 });

     Ext.Ajax.request({       url : 'deleteUsers.action',       params : {        deleteIds : ids.join(',')       },       method : 'POST',       // timeout : 2000,//默认30秒       success : function(response, opts) {

       // store.loadPage(1);

       var success = Ext.decode(response.responseText).success;        // 当后台数据同步成功时        if (success) {         Ext.Array.each(data, function(record) {            store.remove(record);// 页面效果           });        } else {         Ext.MessageBox.show({          title : "提示",          msg : "数据删除失败!"           // icon: Ext.MessageBox.INFO          });        }

      }      });     }    });

  }

 }  function add(){   store.insert(0,new User());  } });

原文地址:https://www.cnblogs.com/tangdacheng/p/4268624.html