Having said that this doesn't look right
DataGrid1.EditItemIndex = -1
BindGrid()
DataGrid1.EditItemIndex = objARgs.Item.ItemIndex
it should be
DataGrid1.EditItemIndex = -1
DataGrid1.EditItemIndex = objARgs.Item.ItemIndex
BindGrid()
else you don't bind till th enext time round, well you do, but you bind to -1.
In your current code click the same edit button twice and it will work ( I
suspect).