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

datagrid

Estas en el tema de datagrid en el foro de .NET en Foros del Web. datagrid -------------------------------------------------------------------------------- Hola buenas, tengo un datagrid y en el código html le tengo definidas las columnas así: <Columns> <asp:TemplateColumn HeaderText="Nombre"> <HeaderStyle horizontalalign="Center" Width="270"></HeaderStyle> <ItemTemplate> ...
  #1 (permalink)  
Antiguo 07/03/2005, 09:09
 
Fecha de Ingreso: marzo-2005
Mensajes: 122
Antigüedad: 19 años, 2 meses
Puntos: 0
datagrid

datagrid

--------------------------------------------------------------------------------

Hola buenas, tengo un datagrid y en el código html le tengo definidas las columnas así:

<Columns>
<asp:TemplateColumn HeaderText="Nombre">
<HeaderStyle horizontalalign="Center" Width="270"></HeaderStyle>
<ItemTemplate>
<asp:Label id="Nombre" runat="server" text='<%# Container.DataItem("Nombre") %>' />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Teléfono1">
<HeaderStyle horizontalalign="Center" Width="120"></HeaderStyle>
<ItemTemplate>
<asp:Label id="Teléfono1" runat="server" text='<%# Container.DataItem("Teléfono1") %>' />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Teléfono2">
<HeaderStyle horizontalalign="Center" Width="120"></HeaderStyle>
<ItemTemplate>
<asp:Button class="bt" id="btFin" onclick="btfin_click" runat="server" Text="Último"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>

Ahora quiero que al darle al bótón me vaya a una página.aspx y que me lleve los datos de esa fila.

¿Como recojo los datos de esa fila y los meto por ejemplo en variables de session?.

Me urge.

Gracias.
  #2 (permalink)  
Antiguo 07/03/2005, 09:50
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
Podrías asignarle a tu boton un commandArgument para identificarlo cuando hagas click..

Algo así :

Cita:
<asp:TemplateColumn>
<ItemTemplate>
<asp:Button CssClass="bt" Runat="server" ID="btFin" Text="Ultimo" CommandArgument="Redirect" />
</ItemTemplate>
</asp:TemplateColumn>
Y en el evento ItemCommand de tu grid hacer la validacion y recoger a través de los ID´s de tus controles la información..
Cita:
Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.ItemCommand

If e.CommandArgument = "Redirect" Then
Dim sName As String = CType(e.Item.FindControl("Name"), Label).Text
Dim sTel As String = CType(e.Item.FindControl("Telefono1"), Label).Text

Response.Redirect("pagina.aspx?name=" & sName & "&tel=" & sTel)
End If
End Sub
Y listo,

Espero que sea lo que buscas..

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

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 07/03/2005, 10:01
 
Fecha de Ingreso: marzo-2005
Mensajes: 122
Antigüedad: 19 años, 2 meses
Puntos: 0
datagrid

Si, creo que es lo que busco, aún no lo probé.

Una cosilla, ¿Cuando exactamente se ejecuta el Evento Commandargument?

Cuando haces cualquier acción en el datagrid o solamente se ejecuta con botones.

Gracias por tu ayuda.

Un Saludo

Cita:
Iniciado por RootK
Podrías asignarle a tu boton un commandArgument para identificarlo cuando hagas click..

Algo así :



Y en el evento ItemCommand de tu grid hacer la validacion y recoger a través de los ID´s de tus controles la información..


Y listo,

Espero que sea lo que buscas..

Salu2
  #4 (permalink)  
Antiguo 07/03/2005, 10:09
 
Fecha de Ingreso: marzo-2005
Mensajes: 122
Antigüedad: 19 años, 2 meses
Puntos: 0
datagrid

Otra cosa:
A cada botón de cada fila ¿le tengo que hacer un argumento distinto? o cuando haga el evento commandArgument ya sabe de que fila es.


Cita:
Iniciado por RootK
Podrías asignarle a tu boton un commandArgument para identificarlo cuando hagas click..

Algo así :



Y en el evento ItemCommand de tu grid hacer la validacion y recoger a través de los ID´s de tus controles la información..


Y listo,

Espero que sea lo que buscas..

Salu2
  #5 (permalink)  
Antiguo 08/03/2005, 01:47
 
Fecha de Ingreso: marzo-2005
Mensajes: 122
Antigüedad: 19 años, 2 meses
Puntos: 0
evento commandArgument

Si añades una columna tipo botón en un datagrid no me entra en el evento commandArgument, solamente me entra una columna tipo link.

¿Se puede poner un botón en vez de un link, para recoger los datos de una fila?

Porque tipo boton no entra en el evento, en la ayuda pone que pulsando cualquier botón debería de entrar.

Gracias



Cita:
Iniciado por RootK
Podrías asignarle a tu boton un commandArgument para identificarlo cuando hagas click..

Algo así :



Y en el evento ItemCommand de tu grid hacer la validacion y recoger a través de los ID´s de tus controles la información..


Y listo,

Espero que sea lo que buscas..

Salu2
  #6 (permalink)  
Antiguo 08/03/2005, 09:04
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
Cita:
Si añades una columna tipo botón en un datagrid no me entra en el evento commandArgument , solamente me entra una columna tipo link.
Creo que hay una pequeña confusion... no existe el evento CommandArgument... el evento es ItemCommand, y los controls como botones, linkbutton, etc que estan dentro de un datagrid cuando haces click automaticamnte se van al evento ItemCommand del grid, y a través de él sabes quien dío click y el nombre del argumento que le estás pasando.

Espero haber sido claro, de todas formas cualquier cosa por aqui adamos..

Salu2
  #7 (permalink)  
Antiguo 08/03/2005, 09:14
 
Fecha de Ingreso: marzo-2005
Mensajes: 122
Antigüedad: 19 años, 2 meses
Puntos: 0
datagrid

Si, si que te entedí lo que pasa es que lo puse mal aquí en el foro.

Te explico Tengo este código en el evento ItemCommand

Private Sub dgDatos_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles dgDatos.ItemCommand

If e.CommandName = "reservar" Then
Session("dgtipoestablecimiento") = CType(e.Item.FindControl("tipoestablecimiento"), Label).Text
Session("dgpoblacion") = CType(e.Item.FindControl("poblacion"), Label).Text
Session("dgcategoria") = CType(e.Item.FindControl("categoria"), Label).Text
Session("dgprecio") = CType(e.Item.FindControl("pvp"), Label).Text
Session("dgregimen") = CType(e.Item.FindControl("regimen"), Label).Text
Session("dgsituacion") = CType(e.Item.FindControl("situacion"), Label).Text


Response.Redirect("Resultado.aspx")

End If

End Sub

Y en el código html dentro del datagrid tengo:

<asp:ButtonColumn Text="RESERVAR" CommandName="reservar"></asp:ButtonColumn>

Y funciona a la perfección.

Que pasa, que este no es un link. tipo botón sino que es un link simple.

Si al buttoncolumn le digo que es tipo boton no me entra en este evento.

¿Y no se porque?

Mi pregunta es: ¿como pongo un botón y no un link como tengo, por que el boton no entra en el evento itemcommand.

Gracias

Un Saludo


Cita:
Iniciado por RootK
Creo que hay una pequeña confusion... no existe el evento CommandArgument... el evento es ItemCommand, y los controls como botones, linkbutton, etc que estan dentro de un datagrid cuando haces click automaticamnte se van al evento ItemCommand del grid, y a través de él sabes quien dío click y el nombre del argumento que le estás pasando.

Espero haber sido claro, de todas formas cualquier cosa por aqui adamos..

Salu2

Última edición por jiglesiasn; 08/03/2005 a las 11:07
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 10:18.