aggiorna una casella combinata in cui l'elenco proviene da una tabella dati che deve essere aperta dall'utente<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Sfondo
Sto creando una piccola applicazione con schede, in una di esse chiedo all'utente di aprire una tabella dati
In un'altra scheda ho una casella combinata che visualizza un elenco di valori univoci ("unique_copy_list") di una colonna di quella tabella dati
cbx1 = Tentativo ( Casella combinata ( unique_copy_list ) , ) ,
Problema:
Quando viene avviata l'applicazione, non viene selezionata la tabella dati, quindi " elenco_copie_unico” Non è disponibile,
C'è un modo per aggiornare la casella combinata?
Oppure è meglio utilizzare un approccio diverso
Ri: aggiorna una casella combinata in cui l'elenco proviene da una tabella dati che deve essere aperta dall'utenteGrazie ragazzi per il vostro supporto. Punto preso, aggiornerò presto. Ad ogni modo con rimuovi e aggiungi ho portato a termine il lavoro.
Ri: aggiorna una casella combinata in cui l'elenco proviene da una tabella dati che deve essere aperta dall'utenteLa sintassi JSL si evolve nel tempo, quindi se stai utilizzando una versione molto vecchia di JMP è davvero utile menzionarlo quando pubblichi una richiesta di aiuto.Ciò che stai cercando di fare può essere fatto nella versione 9, ma da allora i metodi di aggiornamento delle caselle di riepilogo e delle caselle combinate sono cambiati.Pensavo che Set Items fosse una novità per la versione 10 ma forse mi sbaglio, ma so che nelle versioni attuali questo è molto più semplice, come illustrato da Peter.Puoi comunque utilizzare il principio fondamentale, ovvero inviare messaggi alla casella combinata una volta selezionata la tabella dati.Un approccio prolisso consiste nel rimuovere in modo iterativo gli elementi (<Ri: aggiorna una casella combinata in cui l'elenco proviene da una tabella dati che deve essere aperta dall'utente
Utilizzo JMP 9.0.2
Ho utilizzato tutto il codice che mi hai inviato per convalidare la soluzione semplicemente cambiando il nome della colonna da "cliente" a "Copia", ma questo non è rilevante poiché la variabile unique_copy_list contiene le informazioni giuste, tuttavia sembra che i comandi impostati sugli elementi non abbiano l'effetto desiderato
Ri: aggiorna una casella combinata in cui l'elenco proviene da una tabella dati che deve essere aperta dall'utentePuoi postare il tuo codice?Inoltre, quale versione di JMP stai utilizzando?Il mio programma funziona solo se apri il set di dati di esempio chiamato " Dati sulle bande ".
Ri: aggiorna una casella combinata in cui l'elenco proviene da una tabella dati che deve essere aperta dall'utenteGrazie per la risposta rapida, tuttavia il comando Imposta elementi non aggiorna la casella combinata menzionata: S
Funziona bene ma nessun errore di registro ma la casella combinata non lo riflette
Inoltre eseguo il tuo script completo (grazie ancora) e ancora no
Ri: aggiorna una casella combinata in cui l'elenco proviene da una tabella dati che deve essere aperta dall'utenteÈ necessario impostare una richiamata per caricare la casella combinata.Ecco un piccolo esempio.È necessario aprire il set di dati di esempio Bands Data affinché funzioni.Ho anche incluso una funzione per ottenere i valori univoci per una colonna.
/* Nome funzione Ottieni valori univoci
Descrizione: ottieni i valori univoci per una colonna. Per esempio:
Indicazioni
------------
AAAAA
BBBBB
AAAAA
CCCCC
CCCCC
unique_list = ottieni valori univoci (:Indicazioni)
restituirà {"AAAAA", "BBBBB", "CCCCC"}
Argomenti:
descrittore di colonna dtcol per cui calcolare valori univoci
*/
Ottieni valori unici = Funzione ( { dtcol } , { locale predefinito } ,
// Trucchi Eval/expr per farlo funzionare.
eval ( valutazione espr (
Riassumere ( elenco_unico = Di ( espressione ( dtcol ))))) ;
elenco_unico ;
) ;
ora = nuova finestra ( "Test" ,
casella della scheda (
"Prima scheda" ,
pulsante_apri = casella dei pulsanti ( "Aprire" ,
dt = aprire () ;
// Questo esempio funzionerà con i dati delle bande...
unique_copy_list = ottenere valori unici ( colonna ( dt , "cliente" )) ;
cbx1 << impostare gli elementi ( unique_copy_list ) ;
) ,
"Seconda scheda" ,
cbx1 = Casella combinata () , // Inizialmente questo sarà vuoto
)
) ;