Extjs Ext.grid.plugin.RowEditing add insert saveBtn disabled

阅读更多
比较赶时髦,用了Extjs4.2,今天遇到一个问题,搞了好久。终于找到原因,用RowEditing编辑
新增girdPanel的行时,遇到保存按钮变灰的情况,添加了值,写上值,也无效。在官网的帖子
中找到如下代码,重写RowEditor即可。把下面代码复制到你的代码中,可以解决该问题。

Ext.override(Ext.grid.RowEditor,
    {
      addFieldsForColumn : function(column, initial) {
	  var me = this, i, length, field;
	  if (Ext.isArray(column)) {
	      for (i = 0, length = column.length; i < length; i++) {
		   me.addFieldsForColumn(column[i], initial);
	      }
	      return;
	   }
	if (column.getEditor) {
	      field = column.getEditor(null, {
		                        xtype : 'displayfield',
					getModelData : function() {
							return null;
					}
		       });
	   if (column.align === 'right') {
	      field.fieldStyle = 'text-align:right';
	   }
	   if (column.xtype === 'actioncolumn') {
	    field.fieldCls += ' ' + Ext.baseCSSPrefix+ 'form-action-col-field';
	   }
	   if (me.isVisible() && me.context) {
	      if (field.is('displayfield')) {
		  me.renderColumnData(field, me.context.record,column);
		} else {
		  field.suspendEvents();
		  field.setValue(me.context.record.get(column.dataIndex));
		  field.resumeEvents();
		}
	    }
            if (column.hidden) {
	        me.onColumnHide(column);
	    } else if (column.rendered && !initial) {
	        me.onColumnShow(column);
	    }

	    // -- start edit
	    me.mon(field, 'change', me.onFieldChange, me);
	    // -- end edit
         }
   }
});

你可能感兴趣的:(Extjs4,UI,JavaScript)