4D v16.3

Pop-ups/Listas desplegables

Inicio

 
4D v16.3
Pop-ups/Listas desplegables

Pop-ups/Listas desplegables  


 

Los pop-up/listas desplegables son objetos que permiten al usuario seleccionar un elemento de una lista. Los elementos que aparecen en las listas desplegables se manejan utilizando un array o una lista de valores.

Los nombres “Pop-up” y “Lista desplegable” se refieren a los mismos objetos; “Pop-up” es parte de la terminología Mac OS y “Lista desplegable” de Windows.

Como lo muestran los siguientes ejemplos, la apariencia de estos objetos es ligeramente diferente dependiendo de la plataforma: 

Windows
Mac OS

Un array es una lista de valores guardados en memoria que son referenciados por el nombre del array (ver Arrays y objetos de formulario). Un pop-up/lista desplegable muestra un array como una lista de valores al hacer clic en él.

Los objetos pop-up/lista desplegable se inicializan al cargar una lista de valores en un array. Puede hacer esto de varias formas:

  • Introducir una lista de valores por defecto en las propiedades del objeto. Para hacerlo, haga clic en el botón Editar... en el tema “Fuente de datos” de la Lista de Propiedades. Para mayor información, consulte el párrafo Listas de valores por defecto. Los valores por defecto se cargan automáticamente en un array. Puede hacer referencia al array utilizando el nombre de la variable asociada al objeto.
  • Antes de que el objeto se muestre, ejecute el código que asigna los valores a los elementos del array. Por ejemplo:
     ARRAY TEXT(aCiudades;6)
     aCiudades{1}:="Philadelphia"
     aCiudades{2}:="Pittsburg"
     aCiudades{3}:="Grand Blanc"
     aCiudades{4}:="Bad Axe"
     aCiudades{5}:="Frostbite Falls"
     aCiudades{6}:="Green Bay"

    En este caso, el nombre de la variable asociada al objeto en el formulario debe ser aCiudades.
    Este código debería ubicarse en el método de formulario y ejecutarse cuando se produce el evento de formulario On Load.
  • Antes de que el objeto se muestre, cargue los valores de una lista en el array utilizando el comando LIST TO ARRAY. Por ejemplo:
     LIST TO ARRAY("Ciudades";aCiudades)

    En este caso, el nombre de la variable asociada al objeto en el formulario debe ser aCiudades.
    Este código puede ejecutarse en lugar de las declaraciones de asignación anteriores.

Si necesita guardar en un campo la elección del usuario, es necesario utilizar una declaración de asignación que se ejecute después de que se acepte el registro. Una declaración completa tipo Case en el método de objeto se vería como esta:

 Case of
    :(Form event=On Load)
       LIST TO ARRAY("Ciudades";aCiudades)
       If(Record number([Personas])<0) `nuevo registro
          aCiudades:=3 `mostrar un valor por defecto
       Else `registro existente, mostrar valor almacenado
          aCiudades:=Find in array(aCiudades;Ciudad)
       End if
    :(Form event=On Clicked`La selección se modifica
       Ciudad:=aCiudades{aCiudades`el campo recibe un nuevo valor
    :(Form event=On Validate)
       Ciudad:=aCiudades{aCiudades}
    :(Form event=On Unload)
       CLEAR VARIABLE(aCiudades)
 End case

En la página Eventos de la ventana Lista de propiedades, debe elegir los eventos que probó en su declaración tipo Case.

Los array siempre contienen un número finito de elementos. La lista de elementos es dinámica y puede ser modificada por un método. Los elementos en un array pueden modificarse, organizarse y añadirse.

Para mayor información sobre la creación y utilización de un array, consulte el capítulo Arrays en el Manual de Lenguaje.

Si desea utilizar un pop-up/lista desplegable para gestionar los valores de un campo o de una variable listada, 4D le permite referenciar directamente el campo o la variable como fuente de datos del objeto. Esto hace que sea más fácil la gestión de los campos/variables listados.

Nota: si utiliza una lista jerárquica, sólo se mostrará y se puede seleccionar el primer nivel.

Por ejemplo, en el caso de un campo de "Color" que sólo puede contener los valores "Blanco", "Azul", "Verde" o "Rojo", ahora es posible crear una lista que contiene estos valores y asociarla a un objeto pop -up de menú que referencia al campo "Color" 4D. 4D se encarga entonces de la gestión automática de la entrada y la visualización del valor actual en el formulario

Para asociar un menú pop-up/lista desplegable o un combo box a un campo o variable, sólo introduzca directamente el nombre del campo o de la variable en el área Nombre de la variable del objeto:

Cuando se ejecuta el formulario, 4D gestiona automáticamente el menú desplegable o el combo box durante la entrada o la visualización: cuando un usuario elige un valor, se guarda en el campo, cuando se muestra el formulario, este valor de campo se muestra en el menú desplegable:

Nota: no es posible combinar este principio con el uso de un array para inicializar el objeto. Si introduce un nombre de campo en el área de Nombre de variable, entonces debe utilizar una lista de opciones.

Al relacionar un objeto pop-up/lista desplegable a una lista de selección con un campo, puede utilizar la opción Guardar como Valor/Referencia disponible en el tema de "Fuentes de datos" de la Lista de propiedades.

Esta opción le permite optimizar el tamaño de los datos guardados. Para obtener más información, consulte Guardar como Valor o Referencia.

Puede asignar la acción automática Ir a la página a un objeto de tipo pop-up/lista desplegable (tema “Acción” de la Lista de propiedades). Cuando esta acción está seleccionada, 4D muestra automáticamente la página del formulario que corresponda al número del elemento seleccionado en la lista. 

Por ejemplo, si el usuario selecciona el tercer elemento de la lista, 4D mostrará la tercera página del formulario actual (si existe).
Si quiere manejar usted mismo el efecto de la selección de un elemento, seleccione Sin acción.

 
PROPIEDADES 

Producto: 4D
Tema: Trabajar con objetos activos

 
HISTORIA 

 
ARTICLE USAGE

Manual de Diseño ( 4D v16)
Manual de Diseño ( 4D v16.1)
Manual de Diseño ( 4D v16.3)