Как пометить строки как только для чтения в сетке extjs4? - PullRequest
1 голос
/ 11 октября 2011

как я могу заблокировать строки в редактируемой сетке?

Основываясь на одном из параметров магазина, я хочу настроить сетку, чтобы показывать символ блокировки для строки, и блокировать эти строки, чтобы пометить их как прочитанныетолько.

1 Ответ

0 голосов
/ 12 октября 2011

Чтобы добавить символ в строку в зависимости от поля строки (записи), вы можете использовать средство визуализации для этого столбца или новый столбец символов, что-то вроде этого:

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

Редактировать: Вы могли бы также использовать параметр хранилища вместо поля записи, но это сделало бы блокировку сетки широкой, а не для каждой строки.

...