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

gridview anidado en vb?

Estas en el tema de gridview anidado en vb? en el foro de ASPX (.net) en Foros del Web. Hola trabajo en vb y se me presenta el siguiente problema: tengo un gridview anidado uno que es gdvPaquetes y otro que es gdvDetalles “que ...
  #1 (permalink)  
Antiguo 01/11/2010, 19:39
 
Fecha de Ingreso: noviembre-2010
Mensajes: 2
Antigüedad: 11 años, 9 meses
Puntos: 0
Pregunta gridview anidado en vb?

Hola trabajo en vb y se me presenta el siguiente problema: tengo un gridview anidado uno que es gdvPaquetes y otro que es gdvDetalles “que va a contener los detalles del paquete” lo manejo con Store Procedure y estan trabajando bien lo cargo de la siguiente manera en el load :

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
dtResultado = objValidacion2.ConsultarPaquetes(1
gdvPaquetes.DataSource = dtResultado
gdvPaquetes.DataBind()
End Sub
Hasta aquí todo bien hasta que voy a cargar el gdvDetalles que
Protected Sub gdvPaquetes_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gdvPaquetes.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim idPaquete As String = e.Row.Cells(0).Text

dtDetalles = objValidacion2.ConsultarDetalles(Session("hotel"), idPaquete)
Dim vst As DataView = New DataView(dtDetalles, "cod_paquete=" + idPaquete, String.Empty, DataViewRowState.CurrentRows)
Dim gdv As GridView =CType(e.Row.Cells(3).FindControl("gdvDetalles"), GridView)
gdv.DataSource = vst
gdv.DataBind()

End If
End Sub


La primera vez e.Row.Cells(0).Text contiene un 1 y funciona bien la proxima vez que entra no se porque sigue con el 1? y no avansa
Si comento como lo muestro:

Protected Sub gdvPaquetes_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gdvPaquetes.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim idPaquete As String = e.Row.Cells(0).Text

'dtDetalles = objValidacion2.ConsultarDetalles(Session("hotel"), idPaquete)
'Dim vst As DataView = New DataView(dtDetalles, "cod_paquete=" + idPaquete, String.Empty, DataViewRowState.CurrentRows)
'Dim gdv As GridView = CType(e.Row.Cells(3).FindControl("gdvDetalles"), GridView)
'gdv.DataSource = vst
'gdv.DataBind()

End If
End Sub


El e.Row.Cells(0).Text si incrementa caba vez y no entiendo xq de la otra forma no.

Nota el error es el sigueinte “El índice 2 es negativo o superior al recuento de filas”
  #2 (permalink)  
Antiguo 01/11/2010, 20:25
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 13 años, 3 meses
Puntos: 30
Respuesta: gridview anidado en vb?

Lo que necesitas es un maestro detalle. Mira estos ejemplos:

http://weblogs.asp.net/rajbk/archive...pextender.aspx

http://hanzcocchi.net/gridview-anidado-en-asp-net/

http://tydw.wordpress.com/2008/02/14...able-a-vb-y-c/
__________________
http://geekswithblogs.net/jaullo/Default.aspx
Si te he ayudado regalame Karma positivo!!!
  #3 (permalink)  
Antiguo 01/11/2010, 21:29
 
Fecha de Ingreso: noviembre-2010
Mensajes: 2
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: gridview anidado en vb?

Cita:
Iniciado por jaullo Ver Mensaje
Lo que necesitas es un maestro detalle. Mira estos ejemplos:

[URL="http://weblogs.asp.net/rajbk/archive/2007/01/17/master-details-using-ajax-introducing-the-updatepanelpopupextender.aspx"]http://weblogs.asp.net/rajbk/archive/2007/01/17/master-details-using-ajax-introducing-the-updatepanelpopupextender.aspx[/URL]

[URL="http://hanzcocchi.net/gridview-anidado-en-asp-net/"]http://hanzcocchi.net/gridview-anidado-en-asp-net/[/URL]

[URL="http://tydw.wordpress.com/2008/02/14/asp-net-formulario-maestro-detalle-aplicable-a-vb-y-c/"]http://tydw.wordpress.com/2008/02/14/asp-net-formulario-maestro-detalle-aplicable-a-vb-y-c/[/URL]
el que yo quiero hacer es como el segundo link, ya tengo el gridview pero el problema es en RowDataBound nose porque no avansa de fila?

Etiquetas: gridview, vb, anidados, aspx
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 00:26.