Every other undo is probably undoing a selection command which does not really show up in the UI.
Try this. First, set
this.gridDataBoundGrid1.Binder.DirectSaveCellInfo = true;
to avoid problem of the grid caching changes until you leave the row.
If you want to transparently process the selection commands so your user sees a change with each ctlZ, in the undo menu handler (which has a ctlZ hotkey), use code like:
private void menuItem2_Click(object sender, System.EventArgs e)
{
if(this.gridDataBoundGrid1.Model.CommandStack.UndoStack.Count > 0)
this.gridDataBoundGrid1.Model.CommandStack.Undo();
object o = null;
if(this.gridDataBoundGrid1.Model.CommandStack.UndoStack.Count > 0)
o = this.gridDataBoundGrid1.Model.CommandStack.UndoStack.Peek();
while(o is GridSelectionStateCommand)
{
this.gridDataBoundGrid1.Model.CommandStack.Undo();
if(this.gridDataBoundGrid1.Model.CommandStack.UndoStack.Count > 0)
o = this.gridDataBoundGrid1.Model.CommandStack.UndoStack.Peek();
else
o = null;
}
}