Foros del Web » Programación para mayores de 30 ;) » .NET »

Activar evento DeleteCommand del Datagrid en ASP.NET

Estas en el tema de Activar evento DeleteCommand del Datagrid en ASP.NET en el foro de .NET en Foros del Web. Tengo un DataGrid al cual le agregué un botón de Delete, pero cuando preciono el botón no se activa el evento DeleteCommand. Qué debo hacer ...
  #1 (permalink)  
Antiguo 24/07/2004, 10:11
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Pregunta Activar evento DeleteCommand del Datagrid en ASP.NET

Tengo un DataGrid al cual le agregué un botón de Delete, pero cuando preciono el botón no se activa el evento DeleteCommand.

Qué debo hacer para que se actve?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #2 (permalink)  
Antiguo 24/07/2004, 18:36
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6
En la propiedad CommandName de tu Boton ó tu imagen button pon:

Delete

Y ya... el datagrid se activará cuando le den click a tu boton (obviamente el boton deberá estar dentro del grid)

Espero te sirva..
Salu2
  #3 (permalink)  
Antiguo 24/07/2004, 18:37
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6
Ah tambien fijate si tiene el handles.. a veces el handles se pierde...


Salu2 de nuevo :D
  #4 (permalink)  
Antiguo 26/07/2004, 05:37
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Pero a mi no me aparece esa propiedad

Fíjate como fue que agregué el botón:


Qué hago?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--

Última edición por RsOfT; 26/07/2004 a las 05:38
  #5 (permalink)  
Antiguo 26/07/2004, 05:47
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
También agregué y colunm template y al botón que agregué le puse el Delete en el commandName y no funciona y me fijé que al final de la subrutina dice: Handles Grid.DeleteCommand

La subrutina completa dice:
Private Sub Grid_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs )

Qué hago?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #6 (permalink)  
Antiguo 26/07/2004, 08:37
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Se agregaste un boton a tu datagrid.. asignale la propiedad CommandName y escribe Delete..despues en tu datagrid..usa el evento DeleteCommand.

ejemplo.

Cita:
<datagrid...
...
<columns>
<asp:TemplateColumn HeaderText="ID">
<ItemTemplate>
<asp:Button Runat=server CommandName="Delete" ID="btnDelete" Text="Borrar"></asp:Button>
</asp:TemplateColumn>
</Columns>
...
</datagrid>
Y en el codebehind

Cita:
Private Sub DataGrid1_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.DeleteCommand
'Tu código

End Sub
Espero que te funcione

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #7 (permalink)  
Antiguo 26/07/2004, 09:02
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
No me funciona

Este es mi Código HTML:
Código:
<asp:TemplateColumn HeaderText="Borrar Usuario">
	<ItemStyle HorizontalAlign="Center"></ItemStyle>
		<ItemTemplate>
			<asp:Button id="btnEliminar" runat="server" Text="  Eliminar  " CausesValidation="False" CommandName="Delete"></asp:Button>
		</ItemTemplate>
</asp:TemplateColumn>
Y en mi CodeBehind tengo:
Código:
Private Sub Grid_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles Grid.DeleteCommand
        Try
            strSQL = "Delete From Usuarios WBhere usUsuario = '" & e.Item.Cells(1).Text & "'"
            daDataAdapter.DeleteCommand = New SqlClient.SqlCommand(strSQL, cnn)
            daDataAdapter.DeleteCommand.CommandType = CommandType.Text

            cnn.Open()
            daDataAdapter.DeleteCommand.ExecuteNonQuery()
            cnn.Close()

            lblError.Text = ""
        Catch ex As Exception
            lblError.Text = ex.Message
        End Try
End Sub
Qué tengo mal?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #8 (permalink)  
Antiguo 26/07/2004, 09:32
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Tu code se ve bien... solo que una pregunta.. no te borra el registro, o mas bien no pasa por el evento delete..??

Por cierto.. , si quieren tambien pon el html de tu datagrid para echale un ojo. .
  #9 (permalink)  
Antiguo 26/07/2004, 09:46
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
No pasa por el evento, le pongo un break Point y no hace nada!
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #10 (permalink)  
Antiguo 26/07/2004, 11:26
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Por eso te comente que pongas el html que tienes en tu datagrid (completo)... para ver si no tienes algo con lo que esté chocando.

Salu2
  #11 (permalink)  
Antiguo 26/07/2004, 12:17
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Código:
<asp:datagrid id="Grid" style="Z-INDEX: 104; LEFT: 176px; POSITION: absolute; TOP: 320px" runat="server" Width="456px" Height="120px" PageSize="5" AllowPaging="True" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="3" AutoGenerateColumns="False" AllowSorting="True">
	<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#669999"> 		</SelectedItemStyle>
	<ItemStyle ForeColor="#000066"></ItemStyle>
	<HeaderStyle Font-Bold="True" ForeColor="Black" BackColor="#99CCFF"> </HeaderStyle>
	<FooterStyle ForeColor="#000066" BackColor="White"></FooterStyle>
	<Columns>
		<asp:BoundColumn DataField="usUsuario" HeaderText="Nombre de Usuario"></asp:BoundColumn>
		<asp:TemplateColumn HeaderText="Borrar Usuario">
			<ItemStyle HorizontalAlign="Center"></ItemStyle>
			<ItemTemplate>
				<asp:Button id="btnEliminar" runat="server" Text="  Eliminar  " CausesValidation="False" CommandName="Delete"></asp:Button>
			</ItemTemplate>
		</asp:TemplateColumn>
	</Columns>
	<PagerStyle NextPageText="&gt;" PrevPageText="&lt;" HorizontalAlign="Left" ForeColor="#000066" BackColor="White"></PagerStyle>
</asp:datagrid>
Este es mi DataGrid!!!
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #12 (permalink)  
Antiguo 26/07/2004, 12:30
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Acabo de poner tu datagrid igualito en una page de prueba y me funciona sin problemas.

y en el codebehind puse ésto y sí me desplego el mensaje

Cita:
Private Sub Grid_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles Grid.DeleteCommand Response.Write("esto es una prueba..")
End Sub
Está de lo mas extraño tu datagrid , porque no pruebas en hacer lo mismo pero en otra page haber que pasa

Salu2
  #13 (permalink)  
Antiguo 26/07/2004, 13:05
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Agregué una página nueva y no me funciona :(. No entiendo...
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #14 (permalink)  
Antiguo 26/07/2004, 13:30
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Bueno, lo pude resolver colocando link en vez de botones.

__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #15 (permalink)  
Antiguo 26/07/2004, 16:55
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6


RsOfT no me referia a ese boton...

A lo mejor ya no ocupas lo q te responmde peroi es de seguro q te sirva..

Has esto::
En tu datagrid abre la columna 0 y agrega un boton (de la toolbox)
en la propiedad CommandName de ese boton pon: Delete

Termina el modo de siseño de tu dtgrid

Ahora.. ya puedes usar el codigo del

Private Sub Grid_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles Grid.DeleteCommand
Try
strSQL = "Delete From Usuarios WBhere usUsuario = '" & e.Item.Cells(1).Text & "'"
daDataAdapter.DeleteCommand = New SqlClient.SqlCommand(strSQL, cnn)
daDataAdapter.DeleteCommand.CommandType = CommandType.Text

cnn.Open()
daDataAdapter.DeleteCommand.ExecuteNonQuery()
cnn.Close()

lblError.Text = ""
Catch ex As Exception
lblError.Text = ex.Message
End Try
End Sub


Espero q ahora si kede claro..
Salu2
  #16 (permalink)  
Antiguo 27/07/2004, 05:35
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
No Stream, ya yo hice eso y no me funcionó. Gracias por tu ayuda.
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:31.