4D v16.3

Selected list items

Inicio

 
4D v16.3
Selected list items

Selected list items 


 

Selected list items ( {* ;} lista {; arrayElem {; *}} ) -> Resultado 
Parámetro Tipo   Descripción
Operador in Si se especifica: lista es un nombre de objeto (cadena) Si se omite, lista es una referencia de lista
lista  ListRef, Cadena in Número de referencia de lista (si se omite *) o Nombre del objeto tipo lista (si se pasa *)
arrayElem  Array entero largo in Si se omite el segundo *: Array contiene las posiciones de los elementos seleccionados en la(s) lista(s) Si se pasa el segundo *: Array contiene las referencias de los elementos seleccionados
Operador in Si se omite: posición(es) de(l) (los) elemento(s) Si se pasa: referencia(s) de(l) (los) elemento(s)
Resultado  Entero largo in Si se omite segundo *: posición del elemento seleccionado en la(s) lista(s) desplegada(s) Si se pasa el segundo *: Referencia del elemento seleccionado

El comando Selected list items devuelve la posición o referencia del elemento seleccionado en la lista cuyo número de referencia o nombre de objeto se pasa en lista.

Si pasa el primer parámetro opcional *, indica que el parámetro lista es un nombre de objeto (cadena) correspondiente a una representación de lista en el formulario. Si no pasa este parámetro, indica que el parámetro lista es una referencia de lista jerárquica (RefLista). Si utiliza sólo una representación de lista o trabaja con referencias de elementos (el segundo * se pasa), puede utilizar indiferentemente una u otra sintaxis. Por el contrario, si utiliza varias representaciones de una misma lista y trabaja con posiciones de elementos (el segundo * se omite), la sintaxis basada en el nombre del objeto es necesaria ya que cada representación puede tener su propia configuración de elementos desplegados/contraídos.

Nota: si utiliza el carácter @ en el nombre del objeto de la lista y el formulario contiene varias listas que responden a este nombre, el comando Selected list items sólo aplicará al primer objeto cuyo nombre corresponde.

En el caso de selección múltiple, el comando puede devolver también en el array elemArray, la posición o referencia de cada elemento seleccionado. Esta función debe ser aplicada a una lista mostrada en un formulario con el fin de detectar el (los) elementos seleccionado(s) por el usuario.

El segundo parámetro * le permite indicar si quiere trabajar con las posiciones actuales de los elementos (en este caso, se debe omitir el parámetro *) o con referencias fijas de los elementos (en este caso, debe utilizarse el parámetro *).

Puede pasar un array entero largo en el parámetro elemArray. Si es necesario, el array será creado y redimensionado por el comando. Una vez ejecutado el comando, elemArray contendrá:

  • la posición de cada elemento seleccionado relativa al estado contraído/desplegado de la(s) lista(s) desplegada(s) si se omite el parámetro *.
  • la referencia fija de cada elemento seleccionado si se pasa el parámetro *.
    Si no se han seleccionado elementos, el array se devuelve vacío.

Nota: en caso de selección múltiple, el comando devuelve la posición o referencia del elemento actual de lista. El elemento actual es el último elemento en el que el usuario hizo clic (selección manual) o el elemento designado por los comandos SELECT LIST ITEMS BY POSITION o SELECT LIST ITEMS BY REFERENCE (selección por programación).

Si la lista tiene sublistas, aplique el comando a la lista principal (la que está definida en el formulario), y no a una de sus sublistas. Las posiciones son expresadas con respecto al elemento superior de la lista principal, utilizando el estado actual desplegado/expandido de la lista y sus sublistas.

En todos los casos, si ningún elemento está seleccionado, la función devuelve 0.

Ejemplo  

Esta es una lista llamada hList, mostrada en el entorno Aplicación:


 $vlItemPos:=Selected list items(hList) ` en este punto $vlItemPos vale 2

 $vlItemPos:=Selected list items(hList) ` en este punto $vlItemPos vale 4
 $vlItemRef:=Selected list items(hList;*) ` $vlItemRef vale 200 (por ejemplo)

 $vlItemPos:=Selected list items(hList) ` en este punto $vlItemPos vale 8
 $vlItemRef:=Selected list items(hList;*) ` $vlItemRef vale 203 (por ejemplo)

 $vlItemPos:=Selected list items(hList;$arrPos` en este punto, $vlItemPos vale 3
  ` $arrPos{1} vale 3, $arrPos{2} vale 4 y $arrPos{3} vale 5

 $vlItemRef:=Selected list items(hList;$arrRefs;*) ` $vlItemRef vale 203 (por ejemplo)
  ` $arrRefs{1} vale 101, $arrRefs{2} vale 203 (por ejemplo)



Ver también 

SELECT LIST ITEMS BY POSITION
SELECT LIST ITEMS BY REFERENCE

 
PROPIEDADES 

Producto: 4D
Tema: Listas jerárquicas
Número 379

 
HISTORIA 

Modificado: 4D v11 SQL

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)