If you want to cancel CurrentRowChanging (e.Cancel=true), when you click on next row's check box column, it throws the event twice and the next rows' check box has been improperly checked.