Foros del Web » Programando para Internet » ASPX (.net) »

e.Item para GridView RowCommand??

Estas en el tema de e.Item para GridView RowCommand?? en el foro de ASPX (.net) en Foros del Web. Buenos días. Tengo este code en el evento ItemCommand de un repeater: Código: Select Case TipoBoton Case "ImageButton" Select Case CType(e.CommandSource, ImageButton).ID Case "btnCarrito" ' ...
  #1 (permalink)  
Antiguo 22/03/2007, 04:17
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
e.Item para GridView RowCommand??

Buenos días.
Tengo este code en el evento ItemCommand de un repeater:
Código:
Select Case TipoBoton
    Case "ImageButton"
        Select Case CType(e.CommandSource, ImageButton).ID
            Case "btnCarrito"
                ' Metemos la pagina actual en la variable de sesion POrigen
                Dim txtCarrito As TextBox = e.Item.FindControl("txtCarrito")
                Dim strCuantos As String = txtCarrito.Text
                Response.Redirect("TI_AgregarAlCarrito.aspx?Cod=" & e.CommandArgument & "&Num=" & strCuantos)
        End Select
End Select
Ahora necesito algo muuuuy parecido, pero en un control GridView.
Utilizo el evento RowCommand para capturar el click de un botón ubicado en cada linea del GridView. Pero en ese evento, cuando escribo:

e. --> Me aparecen estas tres propiedades: CommandArgument, CommandName y CommandSource

En cambio, en el ItemCommand del Repeater, al escribir:

e. --> Me aparecen las tres mismas propiedades, pero también aparece "Item", que es el que utilizo para acceder al resto de controles contenidos en el repeater, a través de FindControl: e.Item.FindControl("txtCantidad")

Ahora, en el evento RowCommand, necesito una especie de propiedad "Item" ò "Row", para poder acceder al resto de controles y poder capturar sus valores.
Sabe alguien como puedo acceder al resto de controles desde el evento RowCommand?
Saludos.
__________________
..:: moNTeZIon ::..
  #2 (permalink)  
Antiguo 22/03/2007, 06:41
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 9 meses
Puntos: 2
Re: e.Item para GridView RowCommand??

Ahí lo llevas:

Dim index As Integer = Convert.ToInt32(e.CommandArgument)

Dim customersGridView As GridView = CType(e.CommandSource, GridView)
Dim row As GridViewRow = customersGridView.Rows(index)

Saludos
  #3 (permalink)  
Antiguo 22/03/2007, 08:50
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Re: e.Item para GridView RowCommand??

Va, perfecto!
Gracias javier. Parece que se quedaron a medias y no implementaron esa parte, y ahora nos toca hacerlo a nosotros... bueno, vaaaaa..

Pero tengo una duda... Esta línea:

Dim index As Integer = Convert.ToInt32(e.CommandArgument)

Con anterioridad, he utilizado la propiedad CommandArgument de un botón para meterle ahí unos valores, que luego, en el evento ItemCommand o RowCommand, me interesaba recuperar.
Pero por lo visto, en el caso que me expones, se sobreentiende que esa propiedad lleva el índice de la row en cuestión...
Y si yo le he metido algún valor a la propiedad CommandArgument de ese botón, que ocurre? Eso funcionaría?
Venga, un saludo!
__________________
..:: moNTeZIon ::..
  #4 (permalink)  
Antiguo 22/03/2007, 09:13
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 9 meses
Puntos: 2
Re: e.Item para GridView RowCommand??

Creo que no funcionaría. Usa tb CommandName para guardar los valores que te interesen.

Mira, aquí lo explica con ejemplo:

http://msdn2.microsoft.com/en-us/lib...andsource.aspx

Saludos
  #5 (permalink)  
Antiguo 22/03/2007, 10:56
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Re: e.Item para GridView RowCommand??

Gracias javiermil !!
Al final, he optado por guardar varios valores en la priopiedad CommandArgument, separados por "||", y luego, al recuperar el valor en el RowCommand, le aplico un Split al CommandArgument y separo los valores.
Gracias una vez más, por ayudarme también con el tema de Flash, a ver si lo mato ya también...
Un saludo.
__________________
..:: moNTeZIon ::..
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 06:24.