eliminar una fila del gridview

tema enviado por mari90 en ASP.NET
tema iniciado el 30/10/2006

Hola a todos!!

Estoy utilizando visual Studio 2005 (ASP.NET 2.0) y C#.

Tengo un gridview en el que muestro un horario de tutorias de un profesor.Tengo un boton de eliminar tutoria fuera del gridview.Cuando el usuario seleccione una fila del gridview y  pulse el botón de eliminar, quiero que se elimine del gridview la fila seleccionada.

Todos estos cambios quiero que se vayan haciendo en memoria y que no se actualicen en la BD hasta que no se pulse un boton de actualizar tutorias.

Mi problema es que solo consigo eliminar la primera fila que selecciono del grid, solo me elimina una fila, las siguientes veces que selecciono una fila y pulso el boton de eliminar no me desaparece la fila del gridview.

la primera vez que se carga la pagina:

obtengo el horario de tutorías del profesor en un dataset.

visualizo en el gridview el contenido de ese dataset.

almaceno el dataset en un objeto cache.(en un ppio intenté almacenar el dataset en una vble de sesion pero no me dejaba transformar a un objeto dataset) 

en el click del boton de elimina tutoria:

int indicefilasel = this.GridView1.SelectedIndex;//indice de la fila seleccionada en el gridview

GridViewRow filaseleccionada = this.GridView1.SelectedRow;

//obtengo los valores de la fila seleccionada:

string diasel = filaseleccionada.Cells[1].Text;

string horainiciosel = filaseleccionada.Cells[2].Text;

string horafinsel = filaseleccionada.Cells[3].Text;

ds = (DataSet)Cache.Get("dataset");//RECUPERO EL DATASET DEL OBJETO CACHE

ds.Tables["horariotutorias"].Rows[indicefilasel].Delete();

this.GridView1.DataSource = ds;

this.GridView1.DataMember = "horariotutorias";//nombre de la tabla dentro del ds a la que se enlaza

//el gridview para recuperar sus datos

this.GridView1.DataBind();

¿Alguien podría ayudarme?

gracias.

Mari