Before Setting a “Key” column of a DataGridView to Visible = False, make sure you specify the DataKeyNames as show in the image below.  This will allow the values of the fields to be available when updating the GridView….

 

DataKeyNames.jpg