Thanks Alexander.
My issue is that I can't find a way to tell which client operation led to the error. If they were deleting a row then I want to cancel changes and redisplay the row. But if they were updating or inserting, then I don't want to cancel the changes, giving them the opportunity of correcting the data. I can't even parse the error message (not that this is a good idea anyway), since the error I am handling here could occur as the result of either a delete or an insert.
I'm hoping that I've missed something and there's a property in the error event that will give me the information I need!