当前位置: 代码迷 >> Web前端 >> EditorGridPanel中 依据行记录的值决定某行或者某行中的哪些列是否可以编辑
  详细解决方案

EditorGridPanel中 依据行记录的值决定某行或者某行中的哪些列是否可以编辑

热度:76   发布时间:2012-11-01 11:11:32.0
EditorGridPanel中 根据行记录的值决定某行或者某行中的哪些列是否可以编辑
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