在ExtJS Grid中禁用Row

时间:2015-02-18 10:02:38

标签: extjs extjs4.1

我有一个checkcolumn作为网格中的最后一列,我想在选中复选框后禁用该行。

onCheckcolumnCheckChange: function(checkcolumn,rowIndex,checked){
//disable row code here
}

禁用意味着,用户不应该能够编辑该特定行的单元格。

感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:1)

切换到RowEditing并不能解决您的问题。您需要做什么,无论编辑类型是Row还是Cell,您都必须听beforeedit event,并且在监听器中您需要检查记录是启用还是禁用。如果它被禁用,那么您将从侦听器返回false:

伪代码:

beforeedit:function(editor, context) {
    var disabled = context.record.get('disabled');
    return !disabled;
} 

答案 1 :(得分:-1)

尝试使用rowEditing作为

var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
    clicksToEdit: 2,
    clicksToMoveEditor: 1,
    listeners: {
        'validateedit': function(editor, e) {},
        'afteredit': function(editor, e) {
            email_field.setReadOnly(true);}
    }
});

检查this演示。