Descripción del Control
scaCollapse es un User Control multi proposito creado para expandir y colapsar elementos de un form. Por ejemplo, puedes crear un acordeon, una lista colapsable, formulario y mucho mas.
Compatibilidad
Web
Usando el control
El control puede ser usado para cualquier elmento en el web form y ser aplicado para grids, tablas, imagenes, textblock, variables, etc.
Es muy simple de usar, tan solo necesitas incluir el User Control en tu pagina maestra o en un Web Panel y despues Colapsar/expandir elementos del form usando la propiedad del control standar Visible.
Ejemplo
Event 'Collapse-Simplifica-Logo'
SimplificaLogo.Visible = False
EndEvent
Simple? Si! no necesitas hacer nada especial.
En suma, puedes elegir el efecto a aplicar mientras el elemento esta siendo colapsado. Para hacer esto, necesitas tener la prpoeidad "Effect" en design time (properties dialog) o run-time (by code).
Posibles valores son : fade y slide.
Ejemplo :
Event 'Collapse-Simplifica-Logo'
scaCollapse1.Effect = "slide"
SimplificaLogo.Visible = False
Endevent
Si quieres usar este efecto solo en un evento especifico, puede usar la propiedad "Active". Asignar valor a la propiedad Active en falso usando las properties dialog del control y en el evento que quieres que hacer la magia agregar : <controlName>.Active = true.
Ejemplo:
Event 'Collapse-Simplifica-Logo'
scaCollapse1.Active = true
SimplificaLogo.Visible = False
scaCollapse1.Active = false
EndEvent
Una buena practica para este caso the forms o mensajes Tips/HowTo seria incluir el boton/link que dispara el evento sin el objeto a colapsar. Entonces, una vez que el usuario entra la informacion requerida, el cuestionario desaparecera suavemente.
Ejemplo:
Cuando arrastramos el control al form y el xpz con tres ejemplos sera importado, uno con elmentos simple niveles planos y otro para grillas.
Metodos heredados
Actualmente todas las funcionalidades scaCollapse pueden ser utilizadas sin necesitar llamar a todos estos metodos.
Los metodos se mantuvieron con fines de compatibilidad con el fin de evitar obligar a los usuarios a cambiar lo que ya se ha implementado .
La sobrecarga de método actualmente visible está activada de forma predeterminada, para desactivarla debe ir al diálogo de propiedades del control y establecer el valor de la propiedad "Active" como "false".
Para contraer un control de formulario (o contenedor) puede llamar al método Collapse:
control.Collapse(<InternalName)
ToWhere control es el nombre interno de un control que debe colapsarse. (por ejemplo: Table1.InternalName)
Example:
Event 'Collapse-Expand'
scaCollapse1.Collapse(SimplificaLogo.InternalName)
Endevent
Para elementos en los grid,es necesario utilizar el método CollapseInGrid. (nota: el evento debe ejecutarse en el lado del cliente).
control.CollapseInGrid(<InternalName>,<Row>)
Donde "InternalName" era el nombre interno de un control
"row" la posición de fila en el grid.
Ejemplo:
scaCollapse1.CollapseInGrid("TABLE1", &i)
Se separan en dos casos porque la propiedad InternalName no es devuelta correctamente por GeneXus cuando el elemento está en una grilla (devuelve el identificador sin la identificación de la fila).
¿Cómo saber si un elemento está colapsado o expandido?
control.Collapsed (<InternalName>)
o en caso de una grilla:
control.CollapsedInGrid (<InternalName>, <Row>)
Ejemplo:
Event 'IsCollapsed'
if scaCollapse1.Collapsed("SIMPLIFICALOGO")
msg("Collapsed=true")
else
msg("Collapsed=false")
endif
EndEvent