EditorGridPanel中 根据行记录的值决定某行或者某行中的哪些列是否可以编辑
参考源码,覆盖 isCellEditable 方法,如:
cm = new Ext.grid.ColumnModel({ columns : [new Ext.grid.RowNumberer(), { header : '备注', width : 600, sortable : true, dataIndex : 'remark' }, { header : '值', width : 150, sortable : true, dataIndex : 'value', editable : true,// 必须默认为true,否则 isCellEditable 没法用 editor : new Ext.form.TextField({ allowBlank : true, blankText : '', selectOnFocus : true, maxLength : 200 }) }], /* 覆盖默认的方法,根据record条件决定是否可以编辑 */ isCellEditable : function(col, row) { var rec = _this_store.getAt(row); // var columnIndex = // this.findColumnIndex('userName');//可以获得指定名称的列的index if (rec.data.canEdit != 1) { return false; } return Ext.grid.ColumnModel.prototype.isCellEditable .call(this, col, row); } });
1 楼
zuoguoyao
2011-12-05
看了楼主的文章,才明白了,,,,,,,,thank you