GET LIST ITEM
GET LIST ITEM ( {* ;} liste ; positionElém | * ; réfElément ; libelléElément {; sous_Liste ; déployée} )
Paramètre | Type | Description | |
---|---|---|---|
* | Opérateur | → | Si spécifié, liste est un nom d'objet (chaîne) Si omis, liste est une référence de liste |
liste | Integer, Text | → | Numéro de référence de liste (si * omis) ou Nom d'objet de type liste (si * passé) |
positionElém | * | Opérateur, Entier long | → | Position de l'élément dans la ou les liste(s) déployée(s)/contractée(s) ou * pour l‘élément courant de la liste |
réfElément | Integer | ← | Numéro de référence de l'élément |
libelléElément | Text | ← | Libellé de l'élément |
sous_Liste | Integer | ← | Numéro de référence de sous-liste (s'il y en a) |
déployée | Boolean | ← | Si une sous-liste est rattachée à l'élément : Vrai = la sous-liste est déployée Faux = la sous-liste est contractée |
Cette commande n'est pas thread-safe, elle ne peut pas être utilisée dans du code préemptif.
Description
La commande GET LIST ITEM retourne des informations sur l'élément désigné par le paramètre positionElém de la liste dont vous avez passé le numéro de référence ou le nom d'objet dans liste.
Si vous passez le premier paramètre optionnel *, vous indiquez que le paramètre liste est un nom d’objet (chaîne) correspondant à une représentation de liste dans le formulaire. Si vous ne passez pas ce paramètre, vous indiquez que le paramètre liste est une référence de liste hiérarchique (RéfListe). Si vous utilisez une seule représentation de liste, vous pouvez utiliser indifféremment l’une ou l’autre syntaxe. En revanche, si vous utilisez plusieurs représentations d’une même liste, la syntaxe basée sur le nom d’objet est requise car chaque représentation peut disposer de sa propre configuration d éployée/contractée et de son propre élément courant.
Note : Si vous utilisez le caractère @ dans le nom d'objet de la liste et que le formulaire contient plusieurs listes répondant à ce nom, la commande GET LIST ITEM s'appliquera au premier objet dont le nom correspond.
La position doit être exprimée relativement à l'état déployé/contracté de la liste et de ses sous-listes. Vous devez passer une valeur de position comprise entre 1 et la valeur retournée par Count list items. Si vous passez une valeur située hors de cet intervalle, GET LIST ITEM retourne des valeurs vides (0, "", etc.).
Si vous passez * dans positionElém, la commande s’applique à l’élément courant de la liste. Si plusieurs éléments sont sélectionnés manuellement, l’élément courant est celui qui a été sélectionné en dernier. Si aucun élément n’est sélectionné, la commande retourne des valeurs vides.
Après l'appel, vous récupérez :
- Le numéro de référence de l'élément dans réfElément.
- Le libellé de l'élément dans libelléElém.
Si vous passez les paramètres optionnels sous_Liste et déployée :
- sous_Liste contient le numéro de référence de la sous-liste rattachée à l'élément. Si l'élément n'a pas de sous-liste associée, sous_Liste retourne zéro.
- Si l'élément comporte une sous-liste, déployée retourne Vrai si la sous-liste est déployée, et Faux sinon.
Exemple 1
En partant de l'hypothèse que hList est une liste dont les éléments ont des numéros de référence uniques, le code suivant inverse automatiquement l'état déployé/contracté de la sous-liste, si elle existe, rattachée à l'élément sélectionné :
var $vbDéployé : Boolean
var $hSousListe;$vlElemRef : Integer
C_STRING(31;$vsElemText)
//La déclaration de ces variables est nécessaire si vous souhaitez compiler la méthode
$vlElemPos:=Selected list items(hList)
If($vlElemPos>0)
GET LIST ITEM(hList;$vlElemPos;$vlElemRef;$vsElemText;$hSousListe;$vbDéployé)
If(Is a list($hSousListe))
SET LIST ITEM(hList;$vlElemRef;$vsElemText;$hSousListe;Not($vbDéployé))
End if
End if
Exemple 2
Reportez-vous à l'exemple de la commande APPEND TO LIST.
Voir aussi
GET LIST ITEM PROPERTIES
List item parent
List item position
Selected list items
SET LIST ITEM
SET LIST ITEM PROPERTIES