Indeed RadGridView calls IEditableObject interface methods automatically based on the action taken over the business object and there is no way to stop these calls. Of course you could "mark" your data item and process EndEdit() or CancelEdit() accordingly.
When I read your ticket I feel that you don't have a problem with IEditableObject interface, but with a default RadGridView setting. RadGridView has a property called ActionOnLostFocus which by default is set to "CommitEdit", therefore when you click on a "Cancel edit" button - RadGridView loses focus commits the edit and then "Cancel edit" button click event handler is executed.
I'm almost sure that when you set ActionOnLostFocus property to "None" the problem will be solved.
Note: Be aware that you should take care for any possible pending edit.
Let me know if this doesn't help.
All the best,
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>