Ajouter des choix de liste déroulante<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut.Existe-t-il un moyen d'ajouter des choix à une zone de liste déroulante après sa création ?
J'ai créé une zone de liste déroulante qui répertorie plusieurs choix.La dernière option de la liste consiste à ajouter plus de choix.Ensuite, j'aimerais mettre à jour les choix donnés dans la zone de liste déroulante pour inclure le nouveau choix.J'aimerais également que l'utilisateur puisse continuer à ajouter des choix de cette façon, s'il le souhaite.
J'ai envisagé de supprimer la zone de liste déroulante et d'en créer une nouvelle à l'aide de la liste mise à jour si l'utilisateur sélectionne le choix "ajouter", mais cela ne fonctionne qu'autant de fois que je peux imbriquer des clauses If, et comme je l'ai dit, je le ferais comme l'utilisateur pour pouvoir répéter cela autant de fois qu'il le souhaite.J'ai essayé d'utiliser une fonction récursive pour créer une zone de liste déroulante, puis si le choix "ajouter" était sélectionné, mettez à jour la liste des choix, supprimez la zone de liste déroulante et appelez récursivement la même fonction.Jusqu'à présent, cela a mal échoué.En général, les zones de liste déroulante et les fonctions ne semblent pas coopérer pour moi (je reçois sans cesse des erreurs "nom non résolu").
Existe-t-il un moyen plus simple de faire ce que j'essaie d'accomplir?Peut-être même ne pas utiliser de listes déroulantes ?Merci.
Re : Ajouter des choix de liste déroulanteJ'ai lu cette piste de discussion plusieurs fois pour m'assurer que l'impression initiale que j'ai eue est valide.Cette impression est qu'il y a beaucoup de devinettes quant à ce qu'un objet ou une fonction peut faire, et quelle pourrait être la syntaxe s'il peut être capable de faire ce qui est désiré.
L'implémentation actuelle de JSL n'est pas cohérente d'un objet à l'autre.C'est-à-dire que la façon dont on travaille avec un objet de boîte à boutons, syntaxiquement, et la capacité n'est pas la même que l'on travaille avec un objet de zone de liste, etc. Cependant, toutes les capacités et la syntaxe à utiliser sont détaillées pour chaque fonction, objet et la zone d'affichage est détaillée dans l'index de script.
Aide==>Index des scripts
La question dans cette piste de discussion sur si, et comment une zone de liste déroulante peut changer est répondue dans l'index de script

Si une capacité n'est pas répertoriée, la fonction/l'objet/la zone d'affichage n'a pas cette capacité.Et si c'est le cas, l'exemple vous montrera la syntaxe.
J'ai reconnu la confusion exprimée dans cette piste de discussion, car c'est là que j'habitais.Et la solution que j'ai trouvée a été le Scripting Index.Je suis trop vieux pour pouvoir garder toutes les différences dans les fonctions/objets/boîtes d'affichage triées dans ma tête.
Re : Ajouter des choix de liste déroulanteOk permettez-moi d'ajouter au fur et à mesure que j'expérimente:
ListBox< Et je suppose que ListBox<Re : Ajouter des choix de liste déroulante
Également destiné à ajouter, Remove All() ne fonctionne apparemment pas non plus avec le ComboBox (il le fait avec le ListBox).Ce serait donc une autre fonctionnalité intéressante pour le ComboBox.DJ
Re : Ajouter des choix de liste déroulanteJe cours sur une application dans laquelle pouvoir utiliser Append() pour modifier la liste dans un ComboBox serait très utile.Cela peut être fait avec un ListBox donc je ne sais pas pourquoi cela ne peut pas être fait avec un ComboBox?Le cas d'utilisation est que plusieurs fois les listes doivent être mises à jour dynamiquement et donc la fonctionnalité Append() est très utile avec ListBox.
Quoi qu'il en soit, si c'est quelque chose qu'une future version de JMP pourrait accepter, ce serait utile.DJ
Re : Ajouter des choix de liste déroulanteBon. Ouais, j'ai juste essayé d'utiliser append et j'ai trouvé que cela ne fonctionnait pas pour la zone de liste déroulante. Bon à savoir.
Re : Ajouter des choix de liste déroulanteÇa fera l'affaire.J'ai essayé d'utiliser Append Item mais cela n'a pas fonctionné avec une variable.
Nouvelle fenetre ( "Exemple" ,
cb = Boîte combo (
{ "Un" , "Deux" , "Trois" } ,
) ,
tuberculose = zone d'édition de texte () ,
bb = boîte à boutons ( "Ajouter" ,
nouveau_texte = tuberculose << obtenir du texte () ;
liste_cb = cb << obtenir des articles () ;
insérer dans ( liste_cb , nouveau_texte ) ;
cb << définir des éléments ( liste_cb ) ;
) ;
) ;
Re : Ajouter des choix de liste déroulanteJ'ai pu utiliser la fonction d'ajout pour ajouter des éléments sélectionnés.L'exemple ci-dessus se comporte de la même manière que de nombreuses plates-formes JMP.Si vous ouvrez une table de données et cliquez sur la boîte de dialogue Plate-forme de distribution, vous pouvez sélectionner une colonne à la fois et la convertir en rôle Y, une à la fois. C'est essentiellement ainsi que fonctionne la fonctionnalité d'ajout dans mon code ci-dessus. Il vérifie ce qu'il a sélectionné dans la zone de liste de colonnes (à gauche dans la plate-forme de distribution) et l'ajoute à la liste Y en haut à droite.
Ceci était un exemple utilisant des colonnes. La première ligne ne vous concernerait pas, c'était plutôt pour montrer d'où venaient les nouvelles sélections pour mon code.Je ne veux pas vous dire la mauvaise chose, donc je vais vérifier le manuel pour les zones de liste déroulante et je vous reviendrai plus tard si je peux y comprendre.
Re : Ajouter des choix de liste déroulanteMerci mais malheureusement non cela ne fonctionne pas."Ajouter" peut ajouter des zones d'affichage (par exemple des zones de liste déroulante) au parent, mais ne peut pas ajouter/modifier des options à une zone d'affichage existante.Dans l'exemple que vous avez fourni, vous ajoutez une collistbox au parent.Ce que je veux faire est plus analogue à la modification de l'un des arguments de la première collistbox et à la mise à jour.
Re : Ajouter des choix de liste déroulanteJe n'ai jamais utilisé de zone de liste déroulante, mais elle est probablement similaire à une zone de liste déroulante. As-tu essayé la fonction append() ?Voyez si cela vous donne des idées, c'est un extrait approximatif de mon code. Si ce n'est pas tout à fait ce que vous recherchez, postez votre code.
colListeDonnées = zone de liste col ( Tous , largeur ( lbLargeur )) ,
ButtonBox ( "Par groupe" , listeListeG << Ajouter ( colListeDonnées << Obtenir la sélection )) ,
listeListeG = ColListBox ( largeur ( lbLargeur ) , nLignes ( 4 )) ,
ButtonBox ( "Poubelle" colListeB << Ajouter ( colListeDonnées << Obtenir la sélection )) ,
colListeB = ColListBox ( largeur ( lbLargeur ) , nLignes ( 1 )) ,