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

Collapsible Panel Extender + Link Button

Estas en el tema de Collapsible Panel Extender + Link Button en el foro de ASPX (.net) en Foros del Web. Estimados, Estoy tratando de hacer un CPE dinámico en donde el ExpandControlID y CollapseControlID es un linkbutton. Para ello seteo el SuppressPostBack en true en ...
  #1 (permalink)  
Antiguo 22/10/2009, 13:36
 
Fecha de Ingreso: octubre-2009
Mensajes: 1
Antigüedad: 14 años, 6 meses
Puntos: 0
Pregunta Collapsible Panel Extender + Link Button

Estimados,

Estoy tratando de hacer un CPE dinámico en donde el ExpandControlID y CollapseControlID es un linkbutton. Para ello seteo el SuppressPostBack en true en el CPE y genero un AddHandler para el linkbutton.

Cuando el SuppressPostBack está en true no funciona el AddHandler y cuando esta en false funciona el AddHandler pero no hace lo que le pido.

En el Page_Load va

Código:
        Dim ConsultaCargaPrincipal As VAConsultasSql = New VAConsultasSql()
        Dim DRCargaPrincipal As SqlDataReader
        Dim BD As String = 4
        Dim SQL As String = "select * from Temp_Resumen_Factsheet"
        ConsultaCargaPrincipal.SqlString = SQL
        DRCargaPrincipal = ConsultaCargaPrincipal.EjecutaConsulta(BD)

        If DRCargaPrincipal.HasRows Then

            Dim tbl_datos As New Table()

            While DRCargaPrincipal.Read

                Dim tipores As Integer = DRCargaPrincipal.Item("tipores")
                If tipores = 0 Then
                    'Rescate de las variables que vienen de la consulta a la base de datos
                    Dim cod_tipo_instrumento As String
                    Dim tipo_instrumento As String
                    Dim monto As String
                    Dim porcentaje_cartera As String

                    'Rescate de los valores
                    cod_tipo_instrumento = DRCargaPrincipal.Item("tipo")
                    tipo_instrumento = DRCargaPrincipal.Item("nombre")
                    monto = DRCargaPrincipal.Item("total")
                    porcentaje_cartera = DRCargaPrincipal.Item("porcentaje")

                    'Creación de las variables de la tabla de datos. 
                    'Esta tabla se incluirá en el panel "P_Contenido"
                    Dim trow_cabecera As New TableRow()
                    Dim trow_contenido As New TableRow()
                    Dim tcell_cabecera_nombre As New TableCell()
                    Dim tcell_cabecera_monto As New TableCell()
                    Dim tcell_cabecera_porcentaje As New TableCell()
                    Dim tcell_contenido As New TableCell()
                    Dim lbt_cabecera_nombre As New LinkButton()
                    Dim pnl_contenido As New Panel()

                    'Creación de la cabecera
                    'Asignación de los valores a las variables celdas
                    lbt_cabecera_nombre.ID = "lbt_id_" & cod_tipo_instrumento
                    lbt_cabecera_nombre.Text = tipo_instrumento
                    form_factsheet.Controls.Add(lbt_cabecera_nombre)
                    AddHandler lbt_cabecera_nombre.Click, AddressOf lbt_cabecera_nombre_Click
                    tcell_cabecera_nombre.Controls.Add(lbt_cabecera_nombre)
                    tcell_cabecera_monto.Text = monto
                    tcell_cabecera_porcentaje.Text = porcentaje_cartera

                    'Unión de las celdas a la fila
                    trow_cabecera.Cells.Add(tcell_cabecera_nombre)
                    trow_cabecera.Cells.Add(tcell_cabecera_monto)
                    trow_cabecera.Cells.Add(tcell_cabecera_porcentaje)

                    'Unión de la fila a la tabla
                    tbl_datos.Rows.Add(trow_cabecera)

                    Dim y As New Label()
                    y.Text = ":)"
                    pnl_contenido.Controls.Add(y)

                    'Creación del contenido
                    pnl_contenido.ID = "pnl_contenido_" & cod_tipo_instrumento
                    Global_pnl_contenido.ID = pnl_contenido.ID
                    tcell_contenido.ColumnSpan = 3
                    tcell_contenido.Controls.Add(pnl_contenido)
                    trow_contenido.Cells.Add(tcell_contenido)

                    'Unión de la fila a la tabla
                    tbl_datos.Rows.Add(trow_contenido)

                    Dim CPE = New CollapsiblePanelExtender()
                    CPE.ID = "CPE_" & cod_tipo_instrumento
                    CPE.ExpandControlID = "lbt_id_" & cod_tipo_instrumento
                    CPE.CollapseControlID = "lbt_id_" & cod_tipo_instrumento
                    CPE.TextLabelID = "lbt_id_" & cod_tipo_instrumento
                    CPE.TargetControlID = "pnl_contenido_" & cod_tipo_instrumento
                    CPE.Collapsed = True
                    CPE.CollapsedText = tipo_instrumento
                    CPE.ExpandedText = tipo_instrumento
                    CPE.SuppressPostBack = True

                    UP_Factsheet.ContentTemplateContainer.Controls.Add(CPE)

                    Exit While 'Solo muestro el primer registro

                End If
            End While

            'Conexión de la tabla al panel
            P_Contenido.Controls.Add(tbl_datos)

        End If

y la funcion que es llamada como AddHandler es

Código:
    Sub lbt_cabecera_nombre_Click(ByVal sender As System.Object, ByVal ByVale As System.EventArgs)
        Dim pnl As Panel = Page.FindControl("pnl_contenido_1")
        Dim x As Label = New Label()
        x.Text = "prueba"
        pnl.Controls.Add(x)
    End Sub
He probado varias combinaciones y no encuentro el error. Ya estoy pensando en no ocupar el Collapsible Panel Extender.

Alguien me puede ayudar. De antemano gracias por su ayuda.
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 07:53.