VListBox

Hereda de: Widget.

Esta clase representa al control listBox.

Indice de propiedades

Number batchSize

Number count

Number currentRow

Number flow

Number gridHeight

Number gridWidth

Boolean isWrapping

Number layoutMode

Number movement

Number resizeMode

Number selectionMode

Boolean selectionRectVisible

Boolean sortingEnabled

Number spacing

Boolean uniformItemSizes

Number viewMode

Boolean wordWrap

Indice de funciones

Generales

void clear()

void clearSelection()

void scrollToBottom()

void scrollToTop()

void selectAll()

void setGridSize( Number width, Number height )

De ítems

void addItem( String text, [Number data] )

void addItem( String text, String data )

void addItem( VImage icon, String text, [Number data] )

void addItem( VImage icon, String text, String data )

void insertItem( Number index, String text, [Number data] )

void insertItem( Number index, String text, String data )

void insertItem( Number index, VImage icon, String text, [Number data] )

void insertItem( Number index, VImage icon, String text, String data )

Variant itemData( Number index )

String itemText( Number index )

void removeItem( Number index )

void scrollToItem( Number index )

void setItemData( Number index, Number data )

void setItemData( Number index, String data )

void setItemImage( Number index, VImage image )

void setItemText( Number index, String text )

Señales

Gana foco

Item cambio de seleccionado

Lista cambiada

On hide

On show

Pierde foco

Tecla pulsada

Tecla soltada

Ventana movida

Ventna redimensionada

Enumeraciones

Flow

  • LeftToRight = 0

  • TopToBottom = 1

Layout mode

  • SinglePass = 0

  • Batched = 1

Movement

  • Static = 0

  • Free = 1

  • Snap = 2

Resize mode

  • Fixed = 0

  • Adjust = 1

Selection mode

  • SingleSelection

  • ContiguousSelection

  • ExtendedSelection

  • MultiSelection

  • NoSelection

View mode

  • ListMode

  • IconMode

Documentación de propiedades

batchSize

Permite leer o especificar el número de elementos que se gestionarán en cada lote si el layoutMode se establece el lotes. El valor po defecto es 100.

count

Devuelve el número de elementos del control.

currentRow

Permite leer o configurar la fila seleccionada o en curso.

flow

Permite leer o configurar la dirección en la que deben fluir los elementos deben fluir. Ver enum Flow. Si esta propiedad es LeftToRight, los artículos serán dispuestos de izquierda a derecha. Si la propiedad isWrapping es true, el diseño se ajustará cuando se alcanza el lado derecho de la zona visible. Si esta propiedad es TopToBottom, los elementos quedan dispuestos desde la parte superior de la zona visible, envolviendo cuando alcanza la parte inferior. Modificar esta propiedad cuando la vista es visible hará que los elementos se establezcan de nuevo. De forma predeterminada, esta propiedad se establece en TopToBottom.

gridHeight

Permite leer o configurar la altura de la celda para la distribución automática de los items. Si gridWidth o gridHeight son nulas la distribución de los items es manual (por defecto).

Con la función setGridSize(nWidth,nHeight) se pueden modificar a la vez las propiedades gridWidth y gridHeight.

gridWidth

Permite leer o configurar la anchura de la celda para la distribución automática de los items. Si gridWidth o gridHeight son nulas la distribución de los items es manual (por defecto).

Con la función setGridSize(nWidth,nHeight) se pueden modificar a la vez las propiedades gridWidth y gridHeight.

isWrapping

Permite leer o configurar si los elementos se comportarán de forma circular. Modificar esta propiedad cuando la vista es visible hará que los elementos se establezcan de nuevo. De forma predeterminada, esta propiedad es false.

layoutMode

Permite leer o configurar si la carga de los elementos debe ocurrir inmediatamente o se debe demorar. Ver enum Layout mode. Cuando el modo es SinglePass (por defecto), los elementos se cargan todos de una vez. Cuando el modo se dosifica, los elementos se disponen en lotes de elementos BatchSize, durante el procesamiento de eventos. Esto hace que sea posible ver al instante e interactuar con los elementos visibles, mientras que el resto está siendo cargados.

movement

Permite leer o configurar si los elementos se pueden mover libremente, se ajustan a una red, o no se pueden mover en absoluto. Ver enum Movement. Esta propiedad determina cómo el usuario puede mover los elementos en la vista. Static significa que los artículos no pueden ser trasladados al usuario. Free significa que el usuario puede arrastrar y soltar los elementos a cualquier posición en la vista. Snap significa que el usuario puede arrastrar y soltar los elementos, pero sólo para las posiciones en una red teórica representada por la propiedad gridSize. Al establecer esta propiedad cuando la vista es visible hará que los elementos se establezcan de nuevo. De forma predeterminada, esta propiedad se establece como Estática.

resizeMode

Permite leer o configurar si los elementos se colocan de nuevo cuando la vista cambia de tamaño. Ver enum Resize mode. Si se modifica la propiedad al valor Adjust, los elementos se colocarán de nuevo cuando la vista cambia de tamaño. Si el valor es Fixed, los elementos no cambiarán si el control cambia de tamaño. De forma predeterminada, esta propiedad se establece en Fixed.

selectionMode

Permite leer o configurar el modo de selección de elementos en el control. Ver enum Selection mode.

selectionRectVisible

Permite leer o configurar si el rectángulo de selección debe ser visible. Si esta propiedad es true, el rectángulo de selección es visible, de lo contrario estará oculto.

Nota: el rectángulo de selección sólo será visible si el modo de selección está en un modo donde puede haber más de un elemento seleccionado, es decir, no se dibuja un rectángulo de selección si el modo de selección es SingleSelection. De forma predeterminada, esta propiedad es false.

sortingEnabled

Permite leer o configurar si se habilita la ordenación. Si esta propiedad es true, se habilita la ordenación de la lista, si la propiedad es false, la clasificación no está activada. El valor predeterminado es false.

spacing

Permite leer o configurar el espacio alrededor de los elementos en el control. El tamaño del espacio vacío que se rellena en torno a un elemento. Al establecer esta propiedad cuando el control es visible hará que los elementos que se pinten de nuevo. De forma predeterminada, esta propiedad contiene un valor de 0.

uniformItemSizes

Permite leer o configurar si todos los elementos del control tienen el mismo tamaño. Esta propiedad sólo debe establecerse a true si se garantiza que todos los elementos de la vista tienen el mismo tamaño. Esto permite al control optimizarse para mejorar el rendimiento. De forma predeterminada, esta propiedad es false.

viewMode

Permite leer o configurar el modo de vista, similar a un ListView. Ver enum View mode.

wordWrap

Permite leer o configurar si el texto contenido en los elementos se ajustará por palabra. Si esta propiedad es true, el texto del elemento se ajusta, de lo contrario no se ajusta en absoluto. Esta propiedad es false de forma predeterminada. Tenga en cuenta que incluso si el ajuste está activado, la celda no se ampliará para dar cabida al texto. Se imprimirán puntos suspensivos para el texto que no se puede mostrar, de acuerdo con textElideMode de la vista.

Documentación de funciones

Funciones generales

void clear()

Limpia el listbox eliminando todos sus ítems.

void clearSelection()

Limpia la selección quedando todos los elementos del control sin seleccionar.

void scrollToBottom()

El control hace scroll hasta mostrar el último elemento de la lista.

void scrollToTop()

El control hace scroll hasta mostrar el primer elemento de la lista.

void selectAll()

Selecciona todos los elementos del listbox.

void setGridSize( Number width, Number height )

Permite modificar a la vez las propiedades gridWidth y gridHeight. De este modo solo se refrescará el control una vez.

Parámetros:

  • width: ancho en píxeles.

  • height: alta en píxeles.

Funciones de ítems

void addItem( String text, [Number data] )

Añade un ítem nuevo al final de la lista del listbox.

Parámetros:

  • text: texto del elemento.

  • data: valor opcional. Número correspondiente al valor del elemento.

void addItem( String text, String data )

Añade un ítem nuevo al final de la lista del listbox.

Parámetros:

  • text: texto del elemento.

  • data: valor del elemento.

void addItem( VImage icon, String text, [Number data] )

Añade un ítem nuevo al final de la lista del listbox.

Parámetros:

  • icon: objeto de la clase VImage correspondiente al icono.

  • text: texto del elemento.

  • data: valor opcional. Número correspondiente al valor del elemento.

void addItem( VImage icon, String text, String data )

Añade un ítem nuevo al final de la lista del listbox.

Parámetros:

  • icon: objeto de la clase VImage correspondiente al icono.

  • text: texto del elemento.

  • data: valor del elemento.

void insertItem( Number index, String text, [Number data] )

Inserta un ítem en la posición del índice especificada. Si el valor del índice es mayor que el número de elemento el nuevo ítem se sitúa al final, si el índice es 0 o negativo el nuevo ítem se antepone a la lista de elementos existentes.

Parámetros:

  • index: índice donde deseamos situar el nuevo elemento. Si es zero o negativo se pondrá el primero.

  • text: texto del elemento.

  • data: valor opcional. Número correspondiente al valor del elemento.

void insertItem( Number index, String text, String data )

Inserta un ítem en la posición del índice especificada. Si el valor del índice es mayor que el número de elemento el nuevo ítem se sitúa al final, si el índice es 0 o negativo el nuevo ítem se antepone a la lista de elementos existentes.

Parámetros:

  • index: índice donde deseamos situar el nuevo elemento. Si es zero o negativo se pondrá el primero.

  • text: texto del elemento.

  • data: texto correspondiente al valor del elemento.

void insertItem( Number index, VImage icon, String text, [Number data] )

Inserta un ítem en la posición del índice especificada. Si el valor del índice es mayor que el número de elemento el nuevo ítem se sitúa al final, si el índice es 0 o negativo el nuevo ítem se antepone a la lista de elementos existentes.

Parámetros:

  • index: índice donde deseamos situar el nuevo elemento. Si es zero o negativo se pondrá el primero.

  • icon: objeto de la clase VImage correspondiente al icono.

  • text: texto del elemento.

  • data: valor opcional. Número correspondiente al valor del elemento.

void insertItem( Number index, VImage icon, String text, String data )

Inserta un ítem en la posición del índice especificada. Si el valor del índice es mayor que el número de elemento el nuevo ítem se sitúa al final, si el índice es 0 o negativo el nuevo ítem se antepone a la lista de elementos existentes.

Parámetros:

  • index: índice donde deseamos situar el nuevo elemento. Si es zero o negativo se pondrá el primero.

  • icon: objeto de la clase VImage correspondiente al icono.

  • text: texto del elemento.

  • data: valor opcional. Número correspondiente al valor del elemento.

Variant itemData( Number index )

Devuelve el dato del elemento correspondiente al índice especificado.

Parámetros:

  • index: número del elemento del listbox del que se desea obtener el valor.

String itemText( Number index )

Devuelve el texto de un número de elemento determinado.

Parámetros:

  • index: número del elemento del listbox del que se desea obtener el valor.

void removeItem( Number index )

Elimina un elemento del listbox.

Parámetros:

  • index: número del elemento del listbox que se desea eliminar.

void scrollToItem( Number index )

El control realiza scroll hasta que esté visible el ítem con la posición especificado en el parámetro.

Parámetros:

  • index: número que representa la posición del elemento a mostrar.

void setItemData( Number index, Number data )

Asigna un dato al elemento del listbox correspondiente al índice especificado.

Parámetros:

  • index: número del elemento del listbox que se desea modificar.

  • data: número a grabar como valor del dato del elemento.

void setItemData( Number index, String data )

Asigna un dato al elemento del listbox correspondiente al índice especificado.

Parámetros:

  • index: número del elemento del listbox que se desea modificar.

  • data: texto a grabar como valor del dato del elemento.

void setItemImage( Number index, VImage image )

Asigna una imagen al elemento del listbox correspondiente al índice especificado.

Parámetros:

  • index: número del elemento del listbox que se desea modificar.

  • image: objeto de la clase VImage que deseamos asignar al elemento.

void setItemText( Number index, String text )

Asigna un texto al elemento del listbox correspondiente al índice especificado.

Parámetros:

  • index: número del elemento del listbox que se desea modificar.

  • text: texto a grabar en el elemento.

Ejemplos

1- Establecer dinámicamente los ítems de un list box en un formulario

En un formulario tenemos un control de tipo list box sin ítems y los establecemos dinámicamente desde un manejador de evento:

//Obtenemos el formulario en curso
form = theRoot.dataView();

// Accedemos al control list box. Se resuelve con el identificador del control
listbox = form.control("LIS_BOX");

//Añadimos los ítems al combo
listbox.addItem("Entrada", 1);
listbox.addItem("Salida", 2);
listbox.addItem("Regularización", 3);

2- Leer el ítem seleccionado en un list box y asignarlo a una variable local del formulario

// Capturamos el formulario
form = theRoot.dataView();

// Accedemos al control list box. Se resuelve con el identificador del control
listbox = form.control("LIS_BOX");

//Obtenemos la posición del ítem seleccionado en el list box
var sel = listbox.currentRow;

//Extraemos el valor del ítem seleccionado (en este caso, el ID del registro)

var codsel = listbox.itemData(sel);

//Asignamos el dato leído a la variable local del formulario ITEM_SEL
theRoot.setVar("ITEM_SEL", codsel);

Última actualización