Undo/Redo functions aren't compatible with dhtmlxgridProcess

I am trying to implement undo and redo functionality in to my grid but when the function mygrid.doUndo() is called the row is not flagged in the processors updateRows and hence the data which has changed is not sent back to the server when I call the mygridprocessor.sendData(); method. Additionally it is not sent if the autoUpdate feature of the processor is enabled.


Furthermore why do checkboxes not fire the onEditCell event with state 2 (which stores undo data) and hence do not work with the undo feature?


dataProcessor mark row updated only on changes made by user, the undo | redo functionality change data on API level calls, so those changes doesn’t count as "initiated by user"
some level of dataProcessor support can be achieved by adding

        dataProcessor.setUpdated(obj.row_id,true);

at the end of doUndo and doRedo functions.


>>Furthermore why do checkboxes not fire the onEditCell event with state 2
The checkbox doesn’t have the real editor, that is why while generation of stage 2 event is possible but has no sense, because there is no any real editor closing occurs.

>> hence do not work with the undo feature?
Problem confirmed and fixed. Fix will be available as part of next build.
If you need it ASAP, just add next two lines in enableUndoRedo function
        var func2 = function(a,b,c) {return self._onEditUndoRedo.apply(self,[2,a,b,(c?1:0),(c?0:1)]);}       
        this.attachEvent(“onCheckbox”, func2);