Saltar al contenido principal
Versión: Siguiente

LISTBOX SELECT ROW

LISTBOX SELECT ROW ( {* ;} objeto ; posicionL {; accion} )

ParámetroTipoDescripción
*OperadorSi se especifica, objeto es un nombre de objeto (cadena) Si se omite, objeto es una variable
objetoanyNombre de objeto (si se especifica *) o Variable (si se omite *)
posicionLIntegerNúmero de la fila a seleccionar
accionIntegerAcción de selección

Este comando no es hilo seguro, no puede ser utilizado en código apropiativo.

Descripción

El comando LISTBOX SELECT ROW selecciona la fila cuyo número se pasa en posicion en el list box designado por los parámetros objeto y *.

Si pasa el parámetro opcional *, indica que el parámetro objeto es un nombre de objeto (cadena). Si omite este parámetro, indica que el parámetro objeto es una variable. En ese caso, no pasa una cadena, sino una referencia de variable. Para mayor información sobre nombres de objetos, consulte la sección Propiedades de los objetos.

El parámetro opcional accion, si se pasa, se utiliza para definir la acción de selección a ejecutar cuando una selección de filas ya existe en el list box. Puede pasar un valor o una de las siguientes constantes (ubicadas en el tema “[#title id="274"/]”):

ConstanteTipoValorComentario
lk add to selectionEntero largo1La línea seleccionada se añade a la selección existente. Si la línea seleccionada ya pertenece a la selección existente, el comando no hace nada.
lk remove from selectionEntero largo2La línea seleccionada se remueve de la selección existente. Si la línea especificada no pertenece a la selección existente, el comando no hace nada.
lk replace selectionEntero largo0La línea seleccionada se convierte en la nueva selección, reemplazando la selección existente. El comando tiene el mismo efecto que un clic de usuario en una línea (sin embargo, el evento On Clicked no se genera). Esta es la acción por defecto (si se omite el parámetro acción).

Cuando el parámetro posicion no corresponde exactamente a un número de fila existente, el comando actúa de la siguiente manera:

  • Si posicion es <0, el comando no hace nada, cualquiera que sea el valor del parámetro accion.
  • Si posicion es 0 y el parámetro accion contiene lk replace selection o se omite, todas las filas del list box son seleccionadas. Si el parámetro accion contiene lk remove from selection, todas las filas del list box son deseleccionadas.
  • Si el valor de posicion es superior al número total de filas contenidas en el list box (sólo en el caso de un array de tipo listbox), el array booleano asociado a el list box es redimensionado automáticamente y la acción de selección se efectúa. Este mecanismo permite utilizar LISTBOX SELECT ROW con los comandos “estándar” de gestión de arrays (tales como APPEND TO ARRAY) que no provocan la sincronización inmediata del listbox.

Después de la ejecución del método, los arrays son sincronizados: si el array fuente del listbox ha sido redimensionado efectivamente, la acción de selección se lleva a cabo. De lo contrario, el array booleano asociado con el list box vuelve a su tamaño inicial y el comando no hace nada.

Notas:

  • Si quiere que el list box se desplace automáticamente para mostrar la fila seleccionada, utilice el comando OBJECT SET SCROLL POSITION .
  • Para pasar una fila a modo edición (para permitir la entrada de datos), utilice el comando EDIT ITEM.
  • Si el número pasado en posicion corresponde a una línea oculta en el listbox, la línea es seleccionada pero no se muestra.
  • Si ha seleccionado la opción Ocultar el resaltado de selección para un list box, deberá hacer las selecciones de list box visibles utilizando las opciones de interfaz disponibles. Para mayor información sobre cómo hacer esto, ver Personalizar la apariencia de las selecciones.

Ver también

EDIT ITEM
LISTBOX DELETE ROWS
LISTBOX INSERT ROWS
LISTBOX SELECT BREAK
LISTBOX SELECT ROWS
OBJECT SET SCROLL POSITION