Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
OBJET FIXER LISTE PAR REFERENCE
|
OBJET FIXER LISTE PAR REFERENCE ( {* ;} objet {; typeListe}; liste ) | ||||||||
Paramètre | Type | Description | ||||||
* | Opérateur |
![]() |
Si spécifié, objet est un nom d'objet (chaîne) Si omis, objet est un champ ou une variable | |||||
objet | Objet de formulaire |
![]() |
Nom d'objet (si * est spécifié) ou Champ ou variable (si * est omis) | |||||
typeListe | Entier long |
![]() |
Type de liste : Liste énumération, Liste obligations ou Liste exclusions | |||||
liste | RefListe |
![]() |
Numéro de référence de liste | |||||
La commande OBJET FIXER LISTE PAR REFERENCE définit ou remplace l’énumération associée à l’objet ou aux objets désigné(s) par les paramètres objet et *, avec la liste hiérarchique référencée dans le paramètre liste.
Si vous passez le paramètre optionnel *, vous indiquez que le paramètre objet est un nom d'objet (une chaîne). Si vous ne passez pas le paramètre, vous indiquez que le paramètre objet est un champ ou une variable. Dans ce cas, vous ne passez pas une chaîne mais une référence de champ ou de variable (champ ou variable objet uniquement).
Par défaut, si vous omettez le paramètre typeListe, la commande définit une énumération source (choix de valeurs) pour l’objet. Le paramètre typeListe vous permet de désigner tout type d’énumération. Pour cela, il vous suffit de passer dans ce paramètre une des constantes suivantes du thème "Objets de formulaire (Propriétés)" :
Constante | Type | Valeur | Comment |
Liste énumération | Entier long | 0 | Liste simple de choix de valeurs (option "Enumération" dans la Liste des propriétés) (défaut) |
Liste exclusions | Entier long | 2 | Liste de valeurs non acceptées pour la saisie (option "Exclusions" dans la Liste des propriétés) |
Liste obligations | Entier long | 1 | Liste des seules valeurs acceptées pour la saisie (option "Obligations" dans la Liste des propriétés) |
Passez dans liste le numéro de référence de la liste hiérarchique que vous souhaitez associer à l’objet. Cette liste doit avoir été générée à l’aide de la commande Copier liste, Charger liste ou Nouvelle liste.
Pour mettre fin à l’association d’une liste à un objet, il suffit de passer 0 dans le paramètre liste pour le type de liste concerné. Supprimer une association de liste ne supprime pas la référence de liste en mémoire. N’oubliez pas d’appeler la commande SUPPRIMER LISTE lorsque vous n’avez plus besoin d’une liste.
La liste de valeurs existante est remplacée en fonction de la manière dont la liste est associée à l'objet de formulaire:
Cette commande est particulièrement intéressante dans le cas d'une liste déroulante ou d'une combo box associée à une variable ou à un champ. Dans ce cas, l'association est dynamique et toute modification apportée à la liste est copiée dans le formulaire. Lorsque l'objet est associé à un tableau ou à un objet, la liste est copiée dans le tableau ou l'objet et les modifications apportées à la liste ne sont pas disponibles automatiquement (voir exemple 5).
Association d’une énumération simple (type de liste par défaut) à un champ texte :
vListCountries:=Nouvelle liste
AJOUTER A LISTE(vListCountries;"Espagne";1)
AJOUTER A LISTE(vListCountries;"Portugal";2)
AJOUTER A LISTE(vListCountries;"Grèce";3)
OBJET FIXER LISTE PAR REFERENCE([Contact]Country;vListCountries)
Associer la liste "vColor" en tant qu’énumération simple au pop up/Liste déroulante "CoulPorte" :
vColor:=Nouvelle liste
AJOUTER A LISTE(vColor;"Bleu";1)
AJOUTER A LISTE(vColor;"Vert";2)
AJOUTER A LISTE(vColor;"Jaune";3)
AJOUTER A LISTE(vColor;"Rose";4)
OBJET FIXER LISTE PAR REFERENCE(*;"CoulPorte";Liste énumération;vColor)
Vous souhaitez maintenant associer la liste "vColor" à une combo box "CoulMur". Comme la combo box est saisissable, vous souhaitez que certaines couleurs telles que "noir", "violet"... ne puissent pas être utilisées. Ces couleurs sont placées dans la liste "vRejet" :
OBJET FIXER LISTE PAR REFERENCE(*;"CoulMur";Liste énumération;vColor)
vRejet:=Nouvelle liste
AJOUTER A LISTE(vRejet;"Noir";1)
AJOUTER A LISTE(vRejet;"Gris";2)
AJOUTER A LISTE(vRejet;"Violet";3)
OBJET FIXER LISTE PAR REFERENCE(*;"CoulMur";Liste exclusions;vRejet)
Vous souhaitez supprimer des associations de listes :
OBJET FIXER LISTE PAR REFERENCE(*;"CoulMur";Liste énumération;0)
OBJET FIXER LISTE PAR REFERENCE(*;"CoulMur";Liste obligations;0)
OBJET FIXER LISTE PAR REFERENCE(*;"CoulMur";Liste exclusions;0)
Cet exemple illustre la différence de fonctionnement de la commande selon qu’elle est appliquée à un pop up menu associé à un tableau texte ou à une variable texte. Dans un formulaire se trouvent deux pop up menus :
Le contenu des pop up menus est défini par la liste <>vColor (contenant des valeurs de couleurs). Le code suivant est exécuté au chargement du formulaire :
TABLEAU TEXTE(tab1;0) //pop up tab1
C_TEXTE(text1) //pop up text1
OBJET FIXER LISTE PAR REFERENCE(*;"tab1";<>vColor)
OBJET FIXER LISTE PAR REFERENCE(*;"text1";<>vColor)
A l’exécution, les deux menus proposent alors les mêmes valeurs :
(Montage montrant simultanément le contenu des menus)
Vous exécutez alors le code suivant, par exemple via un bouton :
AJOUTER A LISTE(<>vColor;"Blanc";5)
AJOUTER A LISTE(<>vColor;"Noir";6)
Seul le menu associé au champ texte est mis à jour (via la référence dynamique) :
Pour pouvoir mettre à jour la liste associée au pop up géré par tableau, il est nécessaire de rappeler la commande OBJET FIXER LISTE PAR REFERENCE afin de recopier le contenu de la liste.
Produit : 4D
Thème : Objets (Formulaires)
Numéro :
1266
Nom intl. : OBJECT SET LIST BY REFERENCE
Créé : 4D v14
4D - Langage ( 4D v20 R7)