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.

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 tres tipos de list boxes: los list box de tipo selección, los list box de tipo array y los list box de tipo colección o selección de entidades.
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.

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 parte tiene su propio nombre, así como también 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.
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:

Nota: para mayor información, consulte el párrafo Gestión de 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:

El usuario puede modificar el orden de las columnas y (list box array únicamente) las líneas utilizando el ratón (si esta acción está autorizada):

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 box utilizados en modo jerárquico se describen en la sección 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.