You'll need to create another form to display all of that information. In the constructor of the form, take in either a data object that holds all of the data in the Gridview, or just pass in the data from the row as individual strings, ints, DateTimes, whatever. In the Save button event, save the data to the underlying database table.
Then set up the GridView for FullRowSelect. In the CellClick event, first create the object (if you have one) by using the properties of the EventArgs to find what row was selected.
Still inside the CellClick event, create a new form object of the one you created to show the data, and pass in the data of the row. Something like:
frmShowDetails form = new frmShowDetails();
form.ShowModal();
LoadDataGrid();
The ShowModal is key, as it will lock the rest of your program until they are done with that new form. The LoadDataGrid method will be where you clear the DataSource for your DataGrid and repopulate the entire thing from the Database (you can also call that in this form's Load event so you don't duplicate code).
Let me know if you need any more code, and I'll add it once I get into work.