如何在extjs4网格中将行标记为只读?

时间:2011-10-11 19:07:58

标签: grid extjs4

如何在可编辑网格中锁定行?

基于商店的一个参数,我想配置网格以显示该行的锁定符号并锁定这些行以将它们标记为只读。

1 个答案:

答案 0 :(得分:0)

要根据行(记录)字段向行添加符号,您可以对此列使用renderer或新符号列,如下所示:

columns : [{
    header : 'Locked',
    dataIndex : 'locked',
    renderer : function(value, metaData, record, rowIndex, colIndex, store, view) {
        if (record.data.locked == true) {
            return '<img src="img/lockedIcon.jpg">';
        } else {
            return '<img src="img/freeIcon.jpg">';
        }
     }
}]

为了避免在行上进行编辑,您可以注册到编辑器插件的beforedit事件。为了防止编辑,只需取消事件就像这样:

onBeforeEdit : function(object, options) {
    if (object.record.locked == true) {
        return false;
    } else {
        // do what is needed to start editing
    }
}

编辑:您还可以使用商店参数而不是记录字段,但这会使网格锁定而不是按行进行。