Para mostrar una lista de registros, un cuadro de lista de selección de entidades es el más adecuado cuando se utiliza la tecnología ORDA. 4D v18 R2 simplifica su vida con una nueva herramienta para construir fácilmente cuadros de lista de selección de entidades: List box builder. ¿Qué es? Es un sencillo cuadro de diálogo en el que puede configurar su cuadro de lista en unos pocos y rápidos pasos (seleccione la tabla y los campos a mostrar, introduzca los títulos de las columnas y defina el orden de las mismas).
¿Cómo?
En el editor de formularios, haga clic en el nuevo icono para mostrar el cuadro de diálogo del constructor de la caja de lista.
A continuación, seleccione una tabla y los campos que se mostrarán en el cuadro de lista. El orden de los campos corresponde al orden de las columnas en el cuadro de lista generado (puede reordenarlas con una simple acción de arrastrar y soltar).
Los cuadros de lista de selección de entidades requieren una expresión para que se muestre la selección de entidades. Por defecto, 4D rellena la expresión con «Form.currentSelection».
Al hacer clic en el botón Copiar, se copia la expresión con el código para cargar toda la selección de entidades de la tabla seleccionada. El siguiente ejemplo muestra el contenido del portapapeles de la expresión prellenada y el código adicional:
Form.currentSelection:=ds.Contact.all()
Un último clic en el botón Construir widget y ¡voilà! Se genera el cuadro de lista de selección de entidades. Vamos a añadir un botón y a pegar el contenido del portapapeles en el método del objeto del botón.
Una demostración en vivo
En este vídeo de demostración, utilizaremos la base de datos «Contactos». El vídeo muestra dos ejemplos. En el primer ejemplo, creamos un formulario con un cuadro de lista de selección de entidades para mostrar todas las personas de la tabla «Contactos».
En el segundo ejemplo, creamos dos cuadros de lista: «Categoría» y «Contacto». Cuando un usuario hace clic en una categoría, la lista de contactos de esta categoría se muestra en el segundo cuadro de lista.