I noticed that both the command items "Cancel changes" and "Refresh" fire an event with the name "RebindGrid".
This is happening for both the client side (ClientEvents.OnCommand) and the server side (onItemCommand). And we can't add an argument for those native commands.
So we have a way to intercept those actions (the 2 events I mentionned above) but we can't know if the user has clicked on the "Cancel changes" button or the "Refresh" Button. That's too bad !
I note that we don't have this issue with the "Save changes" button and the "Add new record" button which have their own command names.
Is this something that could be changed in a future release ?