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”