Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Eliminar fila Gridview

1,330 views
Skip to first unread message

aitzi

unread,
Oct 22, 2009, 6:47:49 AM10/22/09
to
Buenas necesito eliminar una fila de un gridview y me salta excepcion y no
se la razon.
Alguien me puede ayudar?

La excepcion es StackOverflow.

Esto es lo que hago:
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs
e)

{

GridView1.DeleteRow(e.RowIndex);

DataBind();

}


Alberto Poblacion

unread,
Oct 22, 2009, 7:09:08 AM10/22/09
to
"aitzi" <aitz...@leako.com> wrote in message
news:OIp9NVwU...@TK2MSFTNGP02.phx.gbl...


Ta da un "Stack overflow" porque has escrito un m�todo que se llama
recursivamente a s� mismo sin que nunca se interrumpa la "autollamada". Me
explico: dentro del "RowDeleting" has metido un "DeleteRow". Al ejecutar el
DeleteRow, se borra una fila, lo que ocasiona que se dispare el evento
RowDeleting, que a su vez vuelve a ocasionar que se borre una fila, lo cual
a su vez dispara el RowDeleting...


aitzi

unread,
Oct 22, 2009, 8:11:33 AM10/22/09
to
Y entonces como borro la fila?

"Alberto Poblacion" <earthling-quitae...@poblacion.org>
escribi� en el mensaje news:%234RXZgw...@TK2MSFTNGP06.phx.gbl...

Alberto Poblacion

unread,
Oct 22, 2009, 11:36:04 AM10/22/09
to
"aitzi" <aitz...@leako.com> wrote in message
news:O34yBEx...@TK2MSFTNGP05.phx.gbl...

>Y entonces como borro la fila?

No hagas nada. Si se dispara el RowDeleting es porque la fila ya se
estaba borrando, y por tanto no necesitas a�adir nada dentro de esta rutina.
El RowDeleting existe por si quieres comprobar alguna condici�n e impedir el
borrado si no se cumple, o para borrar en cascada alguna otra cosa cuando te
borren una fila del Grid.

Me pregunto si no estar� equivocado el c�digo que has puesto, en el que
cuando te borran una fila del grid intentas borrar la fila DEL GRID. �No
ser� la fila DE LA BASE DE DATOS lo que quieres borrar? (lo digo por el
sospechoso DataBind que tienes debajo). En ese caso, no tienes que llamar al
GridView1.DeleteRow, sino a la instrucci�n de borrado que corresponda a tu
almacenamiento de datos (por ejemplo el Delete de un DataRow seguido de un
Update si est�s usando un DataSet como capa de datos). Por cierto, esto
ser�a mejor meterlo en el RowDeleted en lugar del RowDeleting.


aitzi

unread,
Oct 23, 2009, 2:06:58 AM10/23/09
to
Gracias, lo consegui!
"Alberto Poblacion" <earthling-quitae...@poblacion.org>
escribi� en el mensaje news:edApn1yU...@TK2MSFTNGP02.phx.gbl...
0 new messages