I am using grid.getChangedRows() but it is not returning ids when I would expect it to. If I click in a grid cell and delete contents,

grid.getChangedRows().length returns 0. I have to click somewhere else in the grid in order for it to realize a change has been made. How do I overcome this?

Grid add new value to the getChangedRows() array only after cell’s editor was closed (stage==2 returns true).

How would I change this to capture any kind of edit (addition or deletion) even without the cell’s editor being closed? 

Unfortunately there is no way change that behaviour.

Is there a way, in an editable grid, to detect when a cell is in “edit mode” (the type of the cell is edtxt and the cursor is in the cell)

You can use “onEditCell” event. Event handler has parameters:

# stage of editting (0-before start[can be canceled if returns false],1-editor opened,2-editor closed)
# ID or row
# index of cell
# new value ( only for stage 2 )
# old value ( only for stage 2 )


if (stage==1){//if cell’s editor is open (cursor is in the cell)

//your code here


return true;