Combo Box - comment réduire rapidement son menu?Bonjour, est-ce que quelqu'un sait comment réduire rapidement le menu d'une liste déroulante une fois la sélection effectuée? J'ai une liste déroulante et faire une sélection pour obtenir la sélection, puis il passe à un autre script qui prend peut-être encore 5 secondes pour démarrer complètement. Mais pendant ces 5 secondes, le menu Zone de liste déroulante reste ouvert et ne sera pas réduit avant la fin de l’autre script. Je souhaite que le menu de la liste déroulante soit réduit presque instantanément après la sélection. J'ai trouvé que changer le focus fait cela (par exemple, légende puis supprime légende), mais c'est un peu kludgy. D'autres pensées? merci, DJ
Re: Combo Box - comment réduire rapidement son menu?Je ne suis pas capable de reproduire le problème. Pour le code ci-dessous, la liste déroulante se réduit rapidement (JMP 13 pour Macintosh).
Pas sûr de ce qui se passe. Votre "slowJSL" peut contenir du code pouvant exploiter toutes les ressources informatiques (multitraitement?).
// Save example of a "slow" jsl file
Save Text File("$SAMPLE_SCRIPTS/slowJSL.jsl", "repeat({char(randominteger(1,1e6))},1e7);
print(fruit)");
New Window("test",
cb1 = Combo Box(
{"<CHOOSE>", "apple", "orange", "banana", "kiwi", "tangerine"},
fruit = cb1 << get text;
Include("$SAMPLE_SCRIPTS/slowJSL.jsl");
)
);
// Delete example jsl by running the line below
// Delete File("$SAMPLE_SCRIPTS/slowJSL.jsl");
</CHOOSE>Re: Combo Box - comment réduire rapidement son menu?as-tu mis une attente (0) au début du 2e script?Re: Combo Box - comment réduire rapidement son menu?Dj,
Pouvez-vous fournir un exemple de script pour qu'il puisse être reproduit? Il sera utile de réfléchir aux options.
Meilleur
Uday
Re: Combo Box - comment réduire rapidement son menu?Merci pour les suggestions.J'ai essayé une attente (0) et cela n'a servi à rien.Voici un exemple:
Problème : le menu de la zone de liste déroulante ne se réduit pas rapidement après la sélection car il attend le traitement du "slowJSL.jsl" suivant (je veux bien sûr qu'il traite la sélection du menu de publication).Dans ce cas, "slowJSL.jsl" prend environ 5 secondes à traiter.La clé ici, c'est que la sélection des articles de menu se bloque et reste ouverte entre-temps.J'espérais le fermer rapidement après la sélection.
new window("test",
cb1=combo box({"<CHOOSE>","apple","orange","banana","kiwi","tangerine"},
fruit=cb1<<GET text=""></GET></CHOOSE>
Réparer (bien que je me demande s'il n'y a pas de meilleur moyen):
new window("test",
cb1=combo box({"<CHOOSE>","apple","orange","banana","kiwi","tangerine"},
cb1<<SET></SET></CHOOSE>
Re: Combo Box - comment réduire rapidement son menu?Haha! Ne sauriez-vous pas que j'ai eu ce même problème 4 ans plus tard.J'utilise JMP 12.2.0. Je me suis donc retrouvé ici pour trouver une bonne solution.
Donc, le Combobox () fonctionne à merveille pour moi avec sa sélection unique et son joli facteur de forme compact.Dans ce cas maintenant, je fais exécuter du SQL et cela prend bien sûr 3-5 secondes pour s'exécuter.Pendant ce temps, son menu de sélection qui pilote le filtre SQL resterait ouvert pendant 3 à 5 secondes après la sélection unique de celui-ci.Surtout, c'est un peu ennuyeux c'est tout.J'ai donc fait ce même correctif et cela a bien fonctionné avec la légende ajouter / supprimer qui réduit rapidement le menu Combobox ().Faire une attente (0) n'a eu aucun effet positif dans ce cas.
cmb12=combobox({"thing1","thing2","thing3"},
SQLselect=cmb12<<GET selected=""></GET>
Re: Combo Box - comment réduire rapidement son menu?Vous pouvez remplacer la légende par une case donnant aux utilisateurs un message d'état:
win = new window( "test",
cb1 = combo box(
{"<CHOOSE>", "apple", "orange", "banana", "kiwi", "tangerine"},
fruit = cb1 << get text;
tempwin = New Window("Your query is running", Show Menu(0), Show Toolbars(0),
Text Box("Your query is running,\!njust a moment..."));
wait(2);
tempwin << close window;
)
);
</CHOOSE>