禁用 ExtJS 网格中的行

问题描述 投票:0回答:2

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

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

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

如有任何帮助,我们将不胜感激。

谢谢

extjs extjs4.1
2个回答
1
投票

仅切换到 RowEditing 并不能解决您的问题。你需要做什么,无论编辑类型是行还是单元格,你都必须监听 beforeedit 事件,并且在监听器中你需要检查记录是否启用或禁用。如果它被禁用,那么你从监听器返回 false:

伪代码:

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

-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);}
    }
});

检查这个演示。

© www.soinside.com 2019 - 2024. All rights reserved.