È possibile associare un ColLIstBox a due diverse tabelle di dati?Ciao a tutti,
Ho uno strumento che si basa su due diverse tabelle di dati.
Nell'interfaccia di avvio, l'utente deve specificare alcune colonne provenienti dalla prima tabella, alcune colonne provenienti dalla seconda tabella e anche alcune colonne che possono essere nella prima o nella seconda tabella.
Ecco un piccolo esempio per riprodurre il mio problema:
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Cities.jmp" );
new window("Test",
hlistbox (
panel box ("Table 1",
hlist box(
collistbox(data table(dt1),all),
vlist box(
text box("Select a variable from table 1"),
CL1 = collistbox(data table(dt1),nlines(1),maxitems(1))
)
)
),
panel box ("Table 2",
hlist box(
collistbox(data table(dt2),all),
vlist box(
text box("Select a variable from table 2"),
CL2 = collistbox(data table(dt2),nlines(1),maxitems(1))
)
)
),
panel box ("Last variable",
vlist box(
text box("Select a variable from table 1 or table 2"),
CL3 = collistbox(maxitems(1),nlines(1))
)
)
)
)In CL3 vorrei poter inserire una colonna della prima tabella o una colonna della seconda. Non sono sicuro che sia fattibile con un oggetto ColListBox. Altrimenti sai se esiste un altro modo per farlo?
Grazie in anticipo per il vostro aiuto!
ScriptingRi: È possibile associare un ColLIstBox a due diverse tabelle di dati?Ecco un piccolo trucco che ho usato in passato per altri problemi, ma funziona bene. Ho modificato il tuo codice per creare una nuova tabella di dati privati, che contiene tutte le colonne, ma nessun dato. Consente di selezionare colonne da una delle caselle di riepilogo Col.
names default to here(1);
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Cities.jmp" );
dt3 = dt1 << concatenate(private,dt2);
dt3 << delete rows(index(1,nrows(dt3)));
nw = new window("Test",
hlistbox (
panel box ("Table 1",
hlist box(
collistbox(data table(dt1),all),
vlist box(
text box("Select a variable from table 1"),
CL1 = collistbox(data table(dt1),nlines(1),maxitems(1))
)
)
),
panel box ("Table 2",
hlist box(
collistbox(data table(dt2),all),
vlist box(
text box("Select a variable from table 2"),
CL2 = collistbox(data table(dt2),nlines(1),maxitems(1))
)
)
),
panel box ("Last variable",
vlist box(
text box("Select a variable from table 1 or table 2"),
CL3 = collistbox(data table(dt3),maxitems(1),nlines(1))
)
)
)
);
nw << on close( close(dt3,nosave));Ri: È possibile associare un ColLIstBox a due diverse tabelle di dati?Grazie @txnelson è davvero un bel trucco! Potrebbe richiedere alcuni aggiustamenti per alcuni casi specifici, altrimenti penso che sia esattamente quello che stavo cercando!