Blog

Cómo eliminar con el evento RowDeleting del control GridView

El evento RowDeleting se dispara en un GridView cuando tenemos un control con la propiedad CommandName="Delete". Este control puede ser tanto un Button, ImageButton o LinkButton.

Marcelo Ruiz, 28/08/2009

El evento RowDeleting se dispara en un GridView cuando tenemos un control con la propiedad CommandName="Delete". Este control puede ser tanto un Button, ImageButton o LinkButton. Si el CommandName tiene un nombre diferente de Delete el evento en cuestión no se disparará y lo hará el evento RowCommand en su lugar.

El truco consiste en definir la propiedad DataKeyNames del GridView con el nombre del campo Primary Key de nuestro DataSource, por ejemplo, DataKeyNames="ClientId".

Luego, cuando manejamos el evento RowDeleting primero obtenemos el índice de la fila que se desea borrar:

int index = e.RowIndex; 

Luego, con este índice podemos llegar al primary key, que es lo que necesitamos para borrar:

int clientId = (int)campaignsGrid.DataKeys[index].Value; 

El método para borrar de la base de datos dependerá de nuestra aplicación pero, si usamos LLBLGen Pro, podría ser algo así:

ClientEntity client = new ClientEntity(clientId); client.Delete();

Publique su comentario

anti-spam