Bueno veras, quizas no te capte muy bien, pero si te fijas en los metodos del gridview, existen 2 metodos diferentes, uno para Editar y otro para Actualizar, en el Editar (RowEditing), es donde colocas el index a seleccionar, luego de eso recargas la data para que te aparezca seleccionado el valor. Y en el de Actualizar(RowUpdating) es donde haces la llamada a la base y todo eso para actualizar el registro, al final solo quitas la seleccion del index.
Por ejemplo:
Código C#:
Ver originalprotected void ProductGridView_RowEditing(object sender, GridViewEditEventArgs e)
{
ProductGridView.EditIndex = e.NewEditIndex;
cargarDatos(); //Este cargar datos es el que tiene el datasource y el databind del gridview
}
protected void ProductGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
// Obtienes los controles que esten en el EditItemTemplate
GridViewRow row = (GridViewRow)ProductGridView.Rows[e.RowIndex];
TextBox tname = (TextBox)row.FindControl("txtName");
// Y lo demas del codigo que necesites para mandar a la base de datos
}
Espero que te sirva. Saludos.