Est-il possible d'associer une ColLIstBox à deux tables de données différentes ?Bonjour tout le monde,
J'ai un outil qui est basé sur deux tables de données différentes.
Sur l'interface de lancement, l'utilisateur doit spécifier des colonnes provenant de la première table, des colonnes provenant des secondes tables et également des colonnes pouvant se trouver dans la première ou la seconde table.
Voici un petit exemple pour reproduire mon problème :
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))
)
)
)
)En CL3 j'aimerais pouvoir mettre soit une colonne du premier tableau soit une colonne du second. Je ne sais pas si c'est faisable avec un objet ColListBox. Sinon, savez-vous s'il existe un autre moyen de le faire ?
Merci d'avance pour votre aide!
ScriptRe : Est-il possible d'associer une ColLIstBox à deux tables de données différentes ?Merci @txnelson c'est vraiment une belle astuce ! Cela peut nécessiter quelques ajustements pour certains cas particuliers sinon je pense que c'est exactement ce que je cherchais !
Re : Est-il possible d'associer une ColLIstBox à deux tables de données différentes ?Voici une petite astuce que j'ai utilisée par le passé pour d'autres problèmes, mais qui fonctionne bien.J'ai modifié votre code pour créer une nouvelle table de données privée, qui contient toutes les colonnes, mais pas de données.Il vous permet de sélectionner des colonnes dans l'une ou l'autre des Col List Box()s.
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));