I''ll try out your suggestion to #1.
I think you misunderstood my question about sorting. Here''s an example :
I have a grid sorted by the first column which is a date. I make a change to what is currently the date in the third row, causing it to become the fifth row because of the active sort. I then do an "Undo" - this still changes the value in the THIRD row of the grid even though it''s no longer the same row.
>In the situation you described, I think if you do the undo twice you will see the undo ''stick'' when you leave the cell. The reason is that the grid is caching the values while you make changes to a row. The undo action on teh grid.model does not interact with the cache of saved editing row values. And when you leave teh cell, the cach value is put back into the cell which is undoing your change.
>
>In a simple sample, handling CurrentCellMoved and ending the edit on the binder forces the cached value to be cleared and makes the undo ''stick.'' Maybe something like this will work for you.
>
>private void gridDataBoundGrid1_CurrentCellMoved(object sender, GridCurrentCellMovedEventArgs e)
>{
> if(this.gridDataBoundGrid1.Binder.IsEditing)
> this.gridDataBoundGrid1.Binder.EndEdit();
>}
>
>
>As for as sorting, I think you would have to clear the undo/redo stacks after a sort. The undo information would no loner be valid.
>
>The grid does not try to maintain undo/redo information for sorting. If you want support undoing a sort, you would have to create a custom undo command to manage this. Here is a forum thread with a sample. http://www.syncfusion.com/Support/Forums/message.aspx?MessageID=17487