Как читать и устанавливать значение конкретной ячейки в сетке ExtJS?

Я начинаю с ExtJS. Я пытаюсь прочитать значение из ячейки, которая выбрана
Я использую EditorGrid, и магазин выглядит следующим образом:

my_store = new Ext.data.JsonStore({
    root: 'topics',
    totalProperty: 'totalCount',
    idProperty: 'details_id',

    fields: [
        {name : 'index',    type : 'int'},
        {name : 'inactive', type : 'int'},
        {name : 'c_1',      type : 'string'},
        {name : 'c_2',      type : 'string'},
        {name : 'c_3',      type : 'string'},
        {name : 'c_4',      type : 'string'}
    ],
    proxy: new Ext.data.ScriptTagProxy({
        url: 'my_proxy_url'
    })
});

На данный момент это то, что я использую для извлечения строк и столбцов выбранной ячейки:

var column = grid.getSelectionModel().selection.cell[0];
var row    = grid.getSelectionModel().selection.cell[1];

Как я могу прочитать значение выбранной ячейки в сетке и изменить это значение?

Ответ 1

Все зависит от вашей модели выбора. С помощью RowSelectionModel вы можете получить запись выбранной строки, например:

var sel_model = grid.getSelectionModel();
var record = sel_model.getSelection()[0];

Тогда вам нужно всего лишь использовать метод set():

record.set("c_1","Test");

Конечно, с EditorGridPanel вы должны назначить редактирование элементам управления, а не напрямую.

Ответ 3

@Llyod

в соответствии с вашим ответом,

Все зависит от вашей модели выбора. С помощью RowSelectionModel вы можете получить запись выбранной строки, например:

var sel_model = grid.getSelectionModel();
var record = sel_model.getSelection()[0];

Тогда вам нужно всего лишь использовать метод set():

record.set("c_1","Test");

Конечно, с помощью EditorGridPanel вы должны назначить редактирование элементам управления, а не напрямую.

Это работает, но что, если я хочу получить доступ к значению ячейки, используя столбец value (e.g. 4 or 5) вместо имени столбца. Можно ли сделать то же самое