Hola y primero que nada felicitar esta comunidad que me ha sido de mucha ayuda.
Tengo un problema y desde hace un par de semanas no he logrado resolverlo, tengo la siguiente estructura de controles:
Consiste en un GridView anidado dentro de un FieldTemplate de otro GridView, como se muestra en la imagen, el desafío CHA42 se repite en las Practicas PRA01 y PRA23.
Lo que hago es consultando un valor en una columna oculta del GridView si el desafío es independiente de la practica cuando el usuario cambie el valor del DropDownList del desafio CHA42 en una practica debo poner ese mismo valor en todas las practicas donde aparezca ese desafío.
El código que estoy usando es el siguiente:
Código:
Protected Sub DDL0_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim indice As Integer = CType(CType(sender, DropDownList).Parent.Parent.Parent.Parent.Parent.Parent, GridViewRow).RowIndex
Dim IdDesafio As Integer = Val(CType(CType(sender, DropDownList).Parent.Parent.FindControl("Label6"), Label).Text)
'Dim Dependiente As Boolean = CType(CType(sender, DropDownList).Parent.Parent.FindControl("CB_Dependiente"), CheckBox).Checked
Dim dp As String = CType(CType(sender, DropDownList).Parent.Parent.FindControl("Label8"), Label).Text
Dim valor As Integer = CType(sender, DropDownList).SelectedValue
Dim gvHijo As New GridView
If Not dp = "True" Then
For i As Integer = 0 To GridView4.Rows.Count - 1
If i <> indice Then
gvHijo = CType(GridView4.Rows(i).FindControl("GridView6"), GridView)
For ii As Integer = 0 To gvHijo.Rows.Count - 1
If IdDesafio = Val(CType(gvHijo.Rows(ii).FindControl("Label6"), Label).Text) Then
DirectCast(gvHijo.Rows(ii).FindControl("DDL0"), DropDownList).SelectedValue = valor
End If
Next
End If
Next
End If
SetFocus(DirectCast(sender, DropDownList))
End Sub
End Class
Este código FUNCIONA, pero me refresca toda la pagina y cuando son muchas practicas pues es muy molesto para los usuarios, He intentado usar ScriptManager y UpdatePanels pero si pongo el GridView padre dentro de un UpdatePanel, al cambiar el valor no pasa NADA, no se ejecuta el Codebehind.
De verdad que agradecería cualquier ayuda para obtener el resultado que quiero sin el refresco de pagina.
Gracias de Antemano
Un Saludo