Mostrar una colección en un cuadro de lista

Traducido automáticamente de Deepl

Recientemente, 4D introdujo un nuevo tipo de variable: las colecciones, así como un gran conjunto de métodos para manipularlas. Con 4D v17, las posibilidades de las colecciones se amplían al poder visualizar fácilmente el contenido de una colección. ¿Cómo? ¡ Listando cuadros de tipo colección!

La gran ventaja de utilizar colecciones es que puede mostrar datos heterogéneos en la misma columna. Por ejemplo, supongamos que tiene una colección con un campo «libre» para el usuario final. Dependiendo del contexto, a veces el usuario puede introducir un número, a veces un texto, a veces una fecha. Ahora puede mostrar todo en una columna de cuadro de lista sin tener que forzar un reparto.

No es necesario convertir la colección en array. Sin código. Simplemente, ¡fácil!

Cuadros de lista de la colección: ejemplo

Cómo configurar el cuadro de lista

Primero, elija el tipo de cuadro de lista «Colección». Luego, como fuente de datos, introduzca una variable o una expresión que devuelva una colección.

A continuación, debe definir la fuente de datos para cada columna de su cuadro de lista. Es sencillo, basta con introducir una expresión para cada columna de la lista de propiedades, como lo haría para un cuadro de lista del tipo de selección actual.

Para ello, tendrá que utilizar el nuevo This que devuelve un objeto que contiene el elemento Éste devuelve un objeto que contiene el elemento que se está redibujando en ese momento. En un cuadro de lista, este comando se evalúa para cada fila y permite acceder a todos los atributos del elemento actual de la colección.

Formato de contenido utilizando una expresión

Mientras que un cuadro de lista de tipo selección le permite introducir una expresión para definir el color de la fuente, el color de fondo, el estilo de la fuente, el estado seleccionable y habilitado, todavía necesita indicar un método de proyecto o una expresión para cada acción. Con los cuadros de lista de tipo colección, es aún más fácil, puede simplemente definir todos estos parámetros en un ÚNICO método de proyecto, la expresión meta info.

La expresión meta se evalúa para cada fila mostrada y devuelve un objeto que contiene los siguientes atributos:

  • fillIntroduzca un color CSS para definir el color de fondo.
  • strokeintroducir un color CSS para definir el color de la fuente
  • fontStyleEstablecer el valor como «cursiva» para aplicar el estilo de cursiva, o bien establecerlo como «normal».
  • fontWeightEstablecer el valor como «negrita» para aplicar el estilo de negrita, o establecerlo como «normal».
  • textDecorationEstablecer el valor como «subrayado» para aplicar el estilo de subrayado, o bien establecerlo como «normal».
  • unselectableIntroduzca un booleano para definir si la fila es seleccionable o no
  • disabledIntroduzca un booleano para activar o desactivar la fila.

Si el atributo no existe, 4D utiliza el valor por defecto.

Por ejemplo, puede vincular la meta expresión «Dec orar» al cuadro de lista. El método Decorate contiene el siguiente código:

If (Esto.value>10)
$0 :=New object("fill"; "red"; "stroke"; "white"; "fontWeight"; "bold")
Else
$0 :=New object("fill"; "blue")
End if

En este ejemplo, si el atributo «valor» es mayor que 10, el fondo de la fila será rojo con el texto blanco en negrita. Si el atributo «valor» es inferior a 10, el fondo de la fila será azul.

Recuperar los elementos seleccionados

Con las propiedades «Elemento actual» y «Posición actual del elemento «, puede recuperar los objetos del elemento actual de la colección, así como su posición.

La propiedad «Elementos seleccionados » le permite recuperar una colección de los elementos seleccionados del cuadro de lista. Incluso puede definir esta nueva colección como fuente de datos para otro cuadro de lista. Así, sin una sola línea de código, puede mostrar el subconjunto de un cuadro de lista en otro.

blank

en el lado de los comandos 4D

Los comandos 4D del tema «Caja de lista» han sido actualizados para soportar el tipo de colección. Algunos ejemplos: LISTBOX SORT COLUMN, LISTBOX INSERT COLUMN FORMULA, LISTBOX SET COLUMN FORMULA, etc. Para más detalles, consulte la lista completa de comandos de 4D List box.

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.