Combo Box - wie kann man schnell sein Menü zusammenklappen?Hallo, kennt jemand eine Möglichkeit, das Menü einer Combo-Box schnell zu reduzieren, sobald die Auswahl getroffen ist? Ich habe eine Combo-Box und wähle eine Auswahl aus, um die Auswahl zu erhalten. Anschließend wird zu einem anderen Skript weitergeleitet, das möglicherweise weitere 5 Sekunden dauert, um vollständig zu initiieren. Während dieser 5 Sekunden bleibt das Combo Box-Menü jedoch geöffnet und wird nicht ausgeblendet, bis das andere Skript beendet ist. Ich möchte, dass das Combo Box-Menü nach dem Auswählen fast sofort eingeblendet wird. Ich habe festgestellt, dass das Ändern des Fokus dies tut (z. B. Bildunterschrift, dann Bildunterschrift entfernen), aber das ist irgendwie kludig. Irgendwelche anderen Gedanken? Danke, DJ
Re: Combo Box - wie kann man schnell sein Menü zusammenbrechen?Ich kann das Problem nicht reproduzieren. Für den folgenden Code wird das Kombinationsfeld schnell reduziert (JMP 13 für Macintosh).
Nicht sicher, was los ist. Ihre "slowJSL" kann Code enthalten, der alle Rechenressourcen nutzen kann (Multiprocessing?).
// 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 - wie kann man schnell sein Menü zusammenbrechen?Haben Sie am Anfang des 2. Skripts eine Wartezeit (0) gesetzt?Re: Combo Box - wie kann man schnell sein Menü zusammenbrechen?Dj,
Können Sie ein Beispielskript bereitstellen, damit es reproduziert werden kann? Es wird hilfreich sein, über die Optionen nachzudenken.
Beste
Uday
Re: Combo Box - wie kann man sein Menü schnell reduzieren?Danke für die Vorschläge.Ich habe versucht zu warten (0) und es war ohne Erfolg.Hier ist ein Beispiel:
Problem : Das Kombinationsfeldmenü wird nach der Auswahl nicht schnell ausgeblendet, da es auf die Verarbeitung des folgenden "slowJSL.jsl" wartet (ich möchte natürlich, dass es die Auswahl nach dem Menü verarbeitet).In diesem Fall dauert die Verarbeitung von "slowJSL.jsl" etwa 5 Sekunden.Der Schlüssel hier ist, dass die Menüpfostenauswahl nur hängt und in der Zwischenzeit geöffnet bleibt.Ich hatte gehofft, es schnell zu schließen, nachdem die Auswahl stattgefunden hatte.
new window("test",
cb1=combo box({"<CHOOSE>","apple","orange","banana","kiwi","tangerine"},
fruit=cb1<<GET text=""></GET></CHOOSE>
Fix (obwohl ich mich frage, ob es keinen besseren Weg gibt):
new window("test",
cb1=combo box({"<CHOOSE>","apple","orange","banana","kiwi","tangerine"},
cb1<<SET></SET></CHOOSE>
Re: Combo Box - wie kann man sein Menü schnell reduzieren?Haha! Würdest du nicht wissen, dass ich 4 Jahre später das gleiche Problem hatte?Ich verwende JMP 12.2.0. Also bin ich hier gelandet, um eine gute Lösung zu finden.
Die Combobox () wirkt also mit ihrer einzigen Auswahl und dem schönen kompakten Formfaktor Wunder für mich.In diesem Fall muss jetzt SQL ausgeführt werden, und die Ausführung dauert natürlich 3-5 Sekunden.Währenddessen bleibt das Auswahlmenü, das den SQL-Filter steuert, nach der einzelnen Auswahl 3-5 Sekunden lang geöffnet.Meistens ist es ein bisschen nervig, dass es das ist.Also habe ich das gleiche Update gemacht und es hat gut mit der Beschriftung Hinzufügen / Entfernen funktioniert, die das Combobox () -Menü schnell zusammenbricht.Das Warten (0) hatte in diesem Fall keine gute Wirkung.
cmb12=combobox({"thing1","thing2","thing3"},
SQLselect=cmb12<<GET selected=""></GET>
Re: Combo Box - wie kann man sein Menü schnell reduzieren?Sie können die Beschriftung durch ein Feld ersetzen, das den Benutzern eine Statusmeldung gibt:
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>