11

I am beginning with ExtJS. I am trying to read a value from a cell that is selected
I use an EditorGrid and the store looking like that :

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

As of now, this is what I use to retrieve the rows and columns of the selected cell :

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

How can I read the value of a selected cell in the grid and change this value ?

Lou
  • 695
  • 2
  • 6
  • 10

3 Answers3

13

It entirely depends upon your selection model. With a RowSelectionModel you can get the Record of the selected row like thus:

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

Then all you need do is use the set() method:

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

Of course, with an EditorGridPanel you're supposed to assign editing to controls and not directly.

Lloyd
  • 29,197
  • 4
  • 84
  • 98
0

it has been explained quite well here http://atechiediary.blogspot.in/2013/06/extjs-grid-update-values-of-elements-in.html

DarkKnightFan
  • 1,913
  • 14
  • 42
  • 61
-1

@Llyod

as per your answer,

It entirely depends upon your selection model. With a RowSelectionModel you can get the Record of the selected row like thus:

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

Then all you need do is use the set() method:

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

Of course, with an EditorGridPanel you're supposed to assign editing to controls and not directly.

this works, But what if i want to accesses the value of cell by using column value (e.g. 4 or 5) instead of column name. Is it possible to do the same

Shahzad Barkati
  • 2,532
  • 6
  • 25
  • 33
Saurabh V
  • 1
  • 1