Aktualisieren Sie ein Kombinationsfeld, in dem die Liste aus einer Datentabelle stammt, die vom Benutzer geöffnet werden muss<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Hintergrund
Ich erstelle eine kleine Anwendung mit Registerkarten. In einer davon fordere ich den Benutzer auf, eine Datentabelle zu öffnen
Auf einer anderen Registerkarte habe ich ein Kombinationsfeld, das eine Liste eindeutiger Werte („unique_copy_list“) einer Spalte dieser Datentabelle anzeigt
cbx1 = versuchen ( Kombinationsfeld ( unique_copy_list ) , ) ,
Problem:
Wenn die Anwendung gestartet wird, wird keine Datentabelle ausgewählt, daher wird „ unique_copy_list“ ist nicht verfügbar,
Gibt es eine Möglichkeit, dort das Kombinationsfeld zu aktualisieren?
Oder es ist besser, einen anderen Ansatz zu verwenden
Betreff: Aktualisieren Sie ein Kombinationsfeld, in dem die Liste aus einer Datentabelle stammt, die vom Benutzer geöffnet werden mussDanke Jungs für eure Unterstützung. Verstanden, ich werde bald ein Upgrade durchführen. Wie auch immer, mit Entfernen und Anhängen habe ich die Arbeit erledigt.
Betreff: Aktualisieren Sie ein Kombinationsfeld, in dem die Liste aus einer Datentabelle stammt, die vom Benutzer geöffnet werden mussDie JSL-Syntax entwickelt sich im Laufe der Zeit weiter. Wenn Sie also eine wirklich alte Version von JMP verwenden, ist es wirklich hilfreich, dies zu erwähnen, wenn Sie eine Hilfeanfrage stellen.Was Sie versuchen, ist in Version 9 möglich, aber die Methoden zum Aktualisieren von Listenfeldern und Kombinationsfeldern haben sich seitdem geändert.Ich dachte, Set Items wäre neu in Version 10, aber vielleicht irre ich mich, aber ich weiß, dass dies in aktuellen Versionen viel einfacher ist, wie Peter gezeigt hat.Sie können jedoch weiterhin das Grundprinzip verwenden, das darin besteht, Nachrichten an das Kombinationsfeld zu senden, sobald die Datentabelle ausgewählt ist.Ein langwieriger Ansatz besteht darin, Elemente iterativ zu entfernen (<Betreff: Aktualisieren Sie ein Kombinationsfeld, in dem die Liste aus einer Datentabelle stammt, die vom Benutzer geöffnet werden muss
Ich verwende JMP 9.0.2
Ich habe den gesamten Code, den Sie mir gesendet haben, zur Validierung der Lösung verwendet und lediglich den Spaltennamen von „Kunde“ durch „Kopieren“ geändert. Dies ist jedoch nicht relevant, da die Variable „unique_copy_list“ die richtigen Informationen enthält. Es scheint jedoch, dass die Befehle zum Festlegen von Elementen nicht den gewünschten Effekt haben
Betreff: Aktualisieren Sie ein Kombinationsfeld, in dem die Liste aus einer Datentabelle stammt, die vom Benutzer geöffnet werden mussKannst du deinen Code posten?Und welche Version von JMP verwenden Sie?Mein Programm funktioniert nur, wenn Sie den Beispieldatensatz mit dem Namen „ Banddaten ".
Betreff: Aktualisieren Sie ein Kombinationsfeld, in dem die Liste aus einer Datentabelle stammt, die vom Benutzer geöffnet werden mussVielen Dank für Ihre schnelle Antwort. Der Befehl „Elemente festlegen“ aktualisiert das erwähnte Kombinationsfeld immer noch nicht :S
Es läuft einwandfrei, aber es gibt keinen Protokollfehler, aber das Kombinationsfeld spiegelt dies nicht wider
Außerdem führe ich Ihr vollständiges Skript aus (nochmals vielen Dank) und immer noch nein
Betreff: Aktualisieren Sie ein Kombinationsfeld, in dem die Liste aus einer Datentabelle stammt, die vom Benutzer geöffnet werden mussSie müssen einen Rückruf einrichten, um die Combobox zu laden.Hier ist ein kleines Beispiel.Damit dies funktioniert, müssen Sie den Beispieldatensatz „Bands Data“ öffnen.Ich habe auch eine Funktion eingefügt, um die eindeutigen Werte für eine Spalte abzurufen.
/* Funktionsname Eindeutige Werte abrufen
Beschreibung: Rufen Sie die eindeutigen Werte für eine Spalte ab. Zum Beispiel:
Hinweise
------------
AAAAA
BBBBB
AAAAA
CCCCC
CCCCC
unique_list = eindeutige Werte abrufen (:Indications)
wird {"AAAAA", "BBBBB", "CCCCC"} zurückgeben
Argumente:
dtcol-Spaltendeskriptor, für den eindeutige Werte berechnet werden sollen
*/
Erhalten Sie einzigartige Werte = Funktion ( { dtcol } , { Standard lokal } ,
// Eval/expr-Tricks, damit dies funktioniert.
evalu ( Bewertungsausdruck (
Zusammenfassen ( unique_list = Von ( Ausdruck ( dtcol ))))) ;
unique_list ;
) ;
jetzt = neues Fenster ( "Prüfen" ,
Tab-Feld (
„Erste Registerkarte“ ,
open_button = Knopffeld ( "Offen" ,
dt = offen () ;
// Dieses Beispiel funktioniert mit Bands Data...
unique_copy_list = Erhalten Sie eindeutige Werte ( Spalte ( dt , "Kunde" )) ;
cbx1 << Elemente festlegen ( unique_copy_list ) ;
) ,
„Zweite Registerkarte“ ,
cbx1 = Kombinationsfeld () , // Zunächst ist dies leer
)
) ;