2009-09-18 41 views
5

Hice otra columna en mi GridView llamada eliminar. Cuando se hace clic en Eliminar, la fila se debe eliminar o, en otras palabras, necesito obtener el nombre de usuario de la fila actual para eliminarla.¿Cómo crear un botón Eliminar en GridView?

  1. ¿Qué evento debo usar? (RowDeleting, Rowdeleted etc ...)
  2. ¿Cómo obtengo el nombre de usuario de la fila actual?

Respuesta

0
tablename.Rows.RemoveAt(datagrid1.currentcell.rowindex); 
+0

que desea eliminar el usuario de la base de datos de este modo le borrando del Gridview. Necesito obtener el nombre de usuario –

+0

@OrBetzalel: Dado el 'columnIndexOfUsername' y usando ** GridViewDeleteEvent ** (vea la publicación de Phaedrus), usted debería poder extraer el' username' con algo como: 'username = datagrid1.Rows [e.RowIndex] .Cells [columnIndexOfUsername] .Value.ToString(); ' – jp2code

4

Puede usar el evento RowDeleting, almacenando el nombre de usuario en la colección de claves de datos puede acceder a él programáticamente.

<asp:GridView DataKeyNames="UserName" ID="GridView1" 
    runat="server" OnRowDeleting="GridView1_RowDeleting"> 

Luego, en el código de atrás use la tecla de datos para eliminar el registro.

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 
    string userName = (string) GridView1.DataKeys[e.RowIndex].Value; 
    DeleteUser(userName); 
} 
+0

Me gustan los ejemplos como estos, pero parece que solo puedo encontrar ejemplos donde el control' DataGrid' solo usará nombres de columnas codificadas. Mis datos se completan detrás de las escenas en función de las entradas del usuario, llamando a uno de los 10 procedimientos almacenados diferentes, para mostrar diferentes resúmenes, por lo tanto, diferentes nombres de columna. – jp2code

0

1: -

protected void grdLst_RowDeleting(object sender, GridViewDeleteEventArgs e) 

{ 

    int i = Convert.ToInt32(grdLst.DataKeys[e.RowIndex].Value); 
    ob.DeleteCoverage(i); 
    Response.Redirect("fullcoverage.aspx"); 
} 

2: -

GridViewRow row = (GridViewRow)grdlist.Rows[e.RowIndex]; 
    string name = row.Cells[1].Text; 
    Response.Write(name.Trim()); 
Cuestiones relacionadas