Von Zeit zu Zeit wäre es schön, Benutzeroberflächen zu erstellen, die es dem Benutzer ermöglichen, Datentabellen zu ändern, die verwendet werden (derzeit ist meine Lösung dafür, "nie" die Option zum Ändern von Datentabellen hinzuzufügen). Meines Wissens müssen Sie derzeit die Filterspaltenauswahl und das Spaltenlistenfeld neu erstellen, um die von ihnen verwendeten Datentabellen zu ändern.
Das ist, was ich denke, was Sie tun müssen:
Mehr sehen...
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Probe.jmp", invisible);
dt1 = Open("$SAMPLE_DATA/Big Class.jmp", invisible);
dt2 = Open("$SAMPLE_DATA/Semiconductor Capability.jmp", invisible);
close_dts = Expr(
Try(Close(dt, no save));
Try(Close(dt1, no save));
Try(Close(dt2, no save));
);
change_table = Expr(
cur_table = (lb << get selected)[1];
// this wont work on filter col box due to ifbox created by it
clb << Delete Box();
vlb_clb << Append(clb = Col List Box(Datatable(cur_table), all, numeric, max selected(1), nlines(5), <<MODELING type=""></MODELING>
So möchte ich es gemacht haben:
Mehr sehen...
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Probe.jmp", invisible);
dt1 = Open("$SAMPLE_DATA/Big Class.jmp", invisible);
dt2 = Open("$SAMPLE_DATA/Semiconductor Capability.jmp", invisible);
close_dts = Expr(
Try(Close(dt, no save));
Try(Close(dt1, no save));
Try(Close(dt2, no save));
);
change_table = Expr(
cur_table = (lb << get selected)[1];
fcs << Set Data Table(cur_table);
clb << Set Data Table(cur_table);
);
nw = New Window("Col List Box Example",
H List Box(
lb = List Box(Get Data Table List(),
change_table
),
fcs = Filter Col Selector(Datatable(dt)),
clb = Col List Box(Datatable(dt), all, numeric, max selected(1), nlines(5), <<MODELING type=""></MODELING>
Dies würde die Notwendigkeit für unnötige Anzeigeboxen eliminieren und das Wechseln der Referenz viel einfacher machen.