Perhaps I'm missing something but you should be able to create an event handler for each of your button columns and not need to go to the trouble you are describing.
PHP Code:
Private Sub DataGrid1_UpdateCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand
...Update Stuff...
End Sub
Private Sub DataGrid1_CancelCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.CancelCommand
Datagrid1.EditItemIndex = -1
BindGrid()
End Sub