Как читать и устанавливать значение конкретной ячейки в сетке 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
вы должны назначить редактирование элементам управления, а не напрямую.
Ответ 2
здесь было хорошо объяснено
http://atechiediary.blogspot.in/2013/06/extjs-grid-update-values-of-elements-in.html
Ответ 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)
вместо имени столбца.
Можно ли сделать то же самое