Creación de formularios sobre la marcha con los nuevos comandos Data Source

En el desarrollo de aplicaciones, a menudo es necesario crear formularios de forma dinámica. Por ejemplo, es posible que desee generar un formulario de búsqueda sobre la marcha, adaptado a las necesidades del usuario. En 4D, existen dos enfoques principales para crear formularios dinámicos: crear el formulario completo por programación o añadir objetos a un diseño de formulario existente. Para la segunda opción, hasta ahora era posible duplicar objetos con OBJECT DUPLICATE y modificar la fuente de datos con OBJECT SET DATA SOURCE todo ello utilizando un enfoque clásico basado en punteros.

Con 4D 20 R10, nuevos y poderosos comandos OBJECT SET DATA SOURCE FORMULA y OBJECT Get data source formula, permiten a los desarrolladores vincular una fórmula como fuente de datos de los objetos formulario. Además, puede asignar dinámicamente fórmulas a propiedades clave de listbox con el comando LISTBOX SET PROPERTY como el elemento actual, la del elemento posición actual y los elementos seleccionados.

Esto abre el camino a un enfoque más moderno, flexible y legible, gracias en particular a expresiones como Form.xx o las clases

HDI_SetDataSourceFormula

Nuevos comandos para manipular la propiedad DE LA fuente de datos

Se han añadido dos nuevos comandos para modificar la propiedad de la fuente de datos:

OBJECT SET DATA SOURCE FORMULA ( {* ;} object ; formula)
OBJECT Get data source formula ( {* ;} object) : formula

Ejemplo 1: Actualizar la fórmula

Imaginemos que tenemos una entrada de texto llamada «myInput» en un formulario, y queremos vincular su fuente de datos a la fórmula «Form.myText».

$myFormula:=Formula(Form.myText)
OBJECT SET DATA SOURCE FORMULA (*; "myInput"; $myFormula)

Ejemplo 2: Recuperar la fórmula

Para recuperar la fórmula asociada a un objeto formulario, como una entrada de texto llamada «miEntrada», basta con escribir:

$formula:=OBJECT Get data source formula(*; "myInput")

Estos nuevos comandos facilitan la creación de plantillas de formulario genéricas y reutilizables que pueden configurarse dinámicamente.

Capacidades ampliadas para LOS List Box

Estas propiedades son accesibles utilizando las siguientes constantes con los comandos LISTBOX Get property y LISTBOX SET PROPERTY:

  • lk current item expression
  • lk current item pos expression
  • lk selected items expression

 

Ejemplo:

LISTBOX SET PROPERTY(*; "myListBox"; lk selected items expression; "Form.selectedItems")

Conclusión

Con OBJECT SET/GET DATA SOURCE FORMULA y las nuevas constantes de propiedades listbox, 4D ofrece una nueva, elegante y poderosa forma de crear interfaces dinámicas.

Adoptando fórmulas y programación orientada a objetos, ahora puede crear formularios más adaptables, mantenibles y fáciles de leer.

Vanessa Talbot
• Propietario de producto - Vanessa Talbot llegó al equipo de 4D Program en junio de 2014. Como Propietario de producto, está a cargo de escribir las historias de los usuarios y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Desde su llegada, ha trabajado en la definición de funcionalidades claves en 4D. Ha trabajado en la mayoría de las nuevas funcionalidades de multi hilo apropiativo y también en un tema muy complejo: la nueva arquitectura para la aplicación engined. Vanessa es licenciada por Telecom Saint-Etienne. Comenzó su carrera en el Instituto de Investigación Criminal como desarrolladora del departamento audiovisual. También ha trabajado en medios de comunicación y en el ámbito médico como experta en soporte técnico, producción y documentación de nuevas funcionalidades.