extjs单元格不能触发afterEdit

使用extjs的可编辑表格时,为什么下拉框可以触发afterEdit,下拉框是最右边一个,而普通的TextField却不能触发afterEdit,

 

 

 

请问为什么,,,

var cm_user = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer({
     header : '行号',
     width : 60
    }), {
   header : '用户名',
   id : 'username',
   dataIndex : 'username',
   sortable : false,
   menuDisabled : true,
   width : 90,
   editor : new Ext.form.TextField({
      allowBlank : false,
      maxLength : 6
     })
  }, {
   header : '用户密码',
   id : 'userpass',
   dataIndex : 'userpass',
   sortable : false,
   menuDisabled : true,
   editor : new Ext.form.TextField({
      allowBlank : false,
      maxLength : 6
     })
  }, {
   header : '用户权限',
   id : 'permission',
   dataIndex : 'permission',
   sortable : false,
   menuDisabled : true,
   editor : new Ext.form.ComboBox({
      mode : 'local',
      editable : false,
      store : new Ext.data.SimpleStore({
         data : [['普通员工', '普通员工'],
           ['系统管理员', '系统管理员']],
         fields : ['text', 'value']
        }),
      displayField : 'text',
      valueField : 'value',
      triggerAction : 'all'
     })
  }]);

也是就修改用户权限就触发了,而且修改用户名和密码没有触发,修改后又跳回以前的值,

 

var userGrid = new Ext.grid.EditorGridPanel({ // 可以编辑的表格
 id : 'userGrid',
 name : 'userGrid',
 title : '系统用户列表',
 enableColumnMove : false,
 trackMouseOver : false,
 iconCls : 'icon-user',
 cm : cm_user,
 store : ds_user,
 clicksToEdit : 1, // 设置点击几次才可编辑
 autoExpandColumn : 1,
 region : 'center',
 viewConfig : {
  forceFit : true
 },
 loadMask : {
  msg : '正在加载数据...'
 },
 sm : new Ext.grid.RowSelectionModel({
    singleSelect : true
   }),
 tbar : ['-', {
    text : '增加用户',
    cls : 'icon-add',
    handler : function() {
     saveUserWindows.setTitle('新增系统用户');
     saveUserWindows.show();
    }
   }, '-', {
    text : '删除用户信息',
    iconCls : 'icon-delete',
    handler : deleteUser
   }, '-', '->', '-', {
    text : '刷新',
    iconCls : 'icon-refresh',
    handler : refreshUser
   }, '-'],
 bbar : new Ext.PagingToolbar({
    pageSize : 20,
    store : ds_user,
    displayInfo : true,
    displayMsg : '第 {0} - {1} 条 共 {2} 条',
    emptyMsg : '暂无系统用户信息'
   }),
 listeners : {
  'afterEdit' : function(e) {
   //var record = obj.record;// 获取被修改的行
   var field = e.field;// 获取被修改的列
   alert(field);
   Ext.Ajax.request({
      method : 'post',
      url : 'updateUser.action',
      params : {
       field : field
      },
      success : function(o) {
       Ext.MessageBox.alert('消息', '修改成功!');
       ds_user.reload();
      },
      failure : function() {
       Ext.Msg.show({
          title : '错误提示',
          msg : '修改数据发生错误,操作将被回滚!',
          buttons : Ext.Msg.OK,
          icon : Ext.Msg.ERROR
         });
       ds_user.reload();
      }
     });
  }
 }

 

1个回答

TextField无afterEdit事件,用blur或change

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!