Los List box son objetos activos complejos que permiten mostrar e introducir datos en forma de columnas sincronizadas. Estos objetos tienen las mismas características básicas de las “áreas de desplazamiento agrupadas”, como también nuevas posibilidades extendidas (entrada de valores, clasificación de columnas, apariencia personalizada, desplazamiento de columnas, etc.). Un objeto de tipo List box puede definirse completamente utilizando el editor de formularios de 4D y también puede controlarse por programación.
![](../../picture/428235/pict428235.EN.png)
Este capítulo detalla los principios relacionados con la creación y configuración de objetos tipo List box en el editor de formularios. Para mayor información sobre el manejo programado de estos objetos, consulte List Box del manual Lenguaje de 4D.
Hay dos tipos de list boxes: los list box de tipo selección y los list box de tipo array.
- List box de tipo selección: el número de líneas está basado en la selección actual o en una selección temporal. Cada columna está asociada a un campo (por ejemplo [Empleados]Nombre) o una expresión 4D. La expresión puede basarse en uno o más campos (por ejemplo [Empleados] Nombre+“ ”[Empleados]Nombre) o a una fórmula (por ejemplo Cadena(Milisegundos)). La expresión también puede ser un método de proyecto, una variable o un elemento de array.
En el caso de un list box basado en la selección actual, toda modificación efectuada del lado de la base se refleja automáticamente en el list box y viceversa. La selección actual es por lo tanto siempre la misma en los dos lugares. - List box de tipo array: el número de líneas está basado en el número de elementos del array. Cada columna del list box está asociada con un array 4D. Por defecto, 4D asigna el nombre “ColumnaX” a cada variable de columna y a cada array asociado. Puede cambiar el nombre en las propiedades de la columna. Con este tipo de list box, la gestión de los valores introducidos o mostrados en los list box se efectúa vía el lenguaje de 4D. También puede asociar una lista de selección a una columna para controlar la entrada de datos (ver la sección Propiedades específicas de columnas de list box).
No es posible combinar en un mismo list box columnas asociadas a campos (o expresiones) y columnas asociadas con arrays en el mismo list box.
Un list box contiene una o más columnas cuyo contenido se sincroniza automáticamente. Por defecto, cuando crea un list box, este contiene una sola columna. Puede modificar el número de columnas (añadir, duplicar o borrar una columna) utilizando el menú contextual (clic en una columna o en el encabezado de una columna) o en las propiedades del list box.
![](../../picture/428250/pict428250.es.png)
El número de columnas es, en teoría, ilimitado (depende de los recursos del equipo).
Un list box está compuesto de cuatro partes distintas: el objeto list box en su conjunto, las columnas, los encabezados y los pies de columnas. En el editor de formularios, estas partes pueden seleccionarse por separado. Cada una dispone de su propio nombre de objeto y de variable así como de propiedades específicas. Por ejemplo, el número de columnas o el color alterno de cada fila se definen en las propiedades del objeto list box, el largo de cada columna se define en las propiedades de la columna y la fuente del encabezado se define en las propiedades del encabezado.
Nota: en los list box de tipo selección, las columnas no tienen un nombre de variable.
Un list box de tipo array puede visualizarse en modo estándar o en modo jerárquico. Los list boxes mostrados en modo jerárquico utilizan los mecanismos específicos, descritos a continuación.
Durante la ejecución, los list box permiten mostrar e introducir datos en forma de listas.
Para pasar una celda a modo edición (si la entrada está autorizada para la columna), simplemente haga clic dos veces en el valor que la contiene:
![](../../picture/428259/pict428259.es.png)
Nota: para mayor información, consulte el párrafo Gestión de la entrada en el manual Lenguaje de 4D.
Puede introducir y mostrar el texto en varias líneas dentro de una celda de list box. Para añadir un retorno a la línea:
- bajo Windows, presione las teclas Ctrl+Retorno de carro,
- bajo Mac Os, presione las teclas Opción+Retorno de carro.
Note que la altura de las líneas no se redimensiona automáticamente.
Es posible ordenar valores de columnas por medio de un clic en un encabezado (ordenación estándar). La ordenación es alfanumérica y alternativamente ascendente/descendente con clic múltiples. Todas las columnas se sincronizan automáticamente.
Nota: para mayor información, consulte el párrafo Gestión de ordenaciones en el manual Lenguaje de 4D.
Igualmente es posible redimensionar cada columna:
![](../../picture/428261/pict428261.es.png)
El usuario puede modificar el orden de las líneas y columnas utilizando el ratón (si esta acción está autorizada):
![](../../picture/428264/pict428264.es.png)
Nota: en los list box de tipo selección, no es posible cambiar el orden de las líneas moviéndolas con el ratón.
El usuario puede seleccionar una o varias líneas utilizando los atajos estándar: Mayús+clic para una selección continua y Ctrl+clic (Windows) o Comando+clic (Mac OS) para una selección no adyacente.
Todas estas características pueden controlarse utilizando las propiedades del list box, de las columnas, de los encabezados y de los pies, las cuales se detallan en los párrafos siguientes.
Nota: las características específicas de los list boxes utilizados en modo jerárquico se describen en la sección Creación y uso de list box jerárquicos.
Los list boxes se pueden imprimir en forma modo "previsualización" (impresión de una imagen del área del list box) o en modo "avanzado" (impresión dinámica de tamaño variable). Para más información, consulte el párrafo Impresión de list boxes en el Manual de Lenguaje de 4D.