This is happening because you are updating all the rows...
foreach ( GridView row in GridView1.Rows)
To update only the particular row edited, you have to store one reference or
Key
of that Row somewhere either on
ViewState
or
Session
or a
HiddenField
or something. You have one
ID
column. So, you can store that as a reference.
Then inside this
Button 3 Click Event, read that
Key
and update that particular Row.