4D v13.4

Pop-ups/Listas desplegables

Inicio

 
4D v13.4
Pop-ups/Listas desplegables

Pop-ups/Listas desplegables  


 

Uso  

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 por defecto.

Un array es una lista de valores guardados en memoria referenciados por el nombre del array (ver la sección Arrays y objetos de formulario). Un pop-up/lista desplegable muestra un array como una lista de valores que aparece cuando se hace clic sobre él.

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

Los objetos 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.

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