4D v16.3OBJECT SET LIST BY REFERENCE |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
OBJECT SET LIST BY REFERENCE
OBJECT SET LIST BY REFERENCE
La commande OBJECT SET LIST BY 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)" :
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 Copy list, Load list ou New list. 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 CLEAR LIST lorsque vous n’avez plus besoin d’une liste. Cette commande est particulièrement intéressante dans le contexte d’un pop up ou d’une combo box associé(e) à une variable ou à un champ (cf. manuel Mode Développement). Dans ce cas, l’association est dynamique et toute modification dans la liste est reportée dans le formulaire. Lorsque l’objet est associé à un tableau, la liste est recopiée dans le tableau et les modifications de la liste ne seront pas automatiquement disponibles (cf. exemple 5). Association d’une énumération simple (type de liste par défaut) à un champ texte : vListCountries:=New list Associer la liste "vColor" en tant qu’énumération simple au pop up/Liste déroulante "CoulPorte" : vColor:=New list 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" : OBJECT SET LIST BY REFERENCE(*;"CoulMur";Choice list;vColor) Vous souhaitez supprimer des associations de listes : OBJECT SET LIST BY REFERENCE(*;"CoulMur";Choice list;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 : ARRAY TEXT(tab1;0) //pop up tab1 A l’exécution, les deux menus proposent alors les mêmes valeurs :
Vous exécutez alors le code suivant, par exemple via un bouton : APPEND TO LIST(<>vColor;"Blanc";5) 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 OBJECT SET LIST BY REFERENCE afin de recopier le contenu de la liste.
Voir aussi
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
Créé : 4D v14 UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||