Erstellen eines Filter Col Selector mit Optionen aus Ausdrücken (dynamisch)Mein Ziel ist es, einen Filterspaltenselektor in einem modalen Fenster zu erstellen, der einen Standardfilter „Name enthält“ anwendet, wenn dieser der Funktion übergeben wird. Falls die Eingabe der Funktion jedoch einen leeren Filter enthält, bleibt das Filterfeld geöffnet, damit der Benutzer einen Filter eingeben kann.
Hier ist ein Beispielergebnis der gewünschten Ausgabe, wenn die Eingabe leer war, im Vergleich zu „Intervall“
Names Default To Here( 1 );<BR />dtex = Open( "$SAMPLE_DATA/Arrhythmia.jmp" );<BR /><BR /><BR />// case with filter
filt = "interval";
eval(eval expr(
New Window( "Filter Col Selector if filter option given", <<MODAL> FILTER SELECTION IS GONE, not desired result
filt = "";
eval(eval expr(
New Window( "Filter Col Selector if no option", <<MODAL></MODAL><BR />// case with no option --> FILTER SELECTION stays, but how to make this dynamically based on the 'filt' value?<BR />filt = "";<BR />eval(eval expr(<BR />New Window( "Filter Col Selector if no option", <<MODAL></MODAL>));<BR /><BR />// attempt to create with substitute do not work- cant use comma in expr to make multiple to insert...<BR />testexpr = expr(new window("test", <<MODAL></MODAL> if(filter != "",<BR />_OPTIONS_ = eval expr(width(400), nlines(35), <<NAME contains=""></NAME>,<BR />_OPTIONS_ = expr(width(400), nlines(35), <<CONTINUOUS></CONTINUOUS>);<BR /><SPAN> substitude into(testexpr , expr(_OPTIONS_), name expr(_OPTIONS_));</SPAN><BR />
</MODAL>
Also habe ich angefangen, „Name enthält“ in einen Ausdruck zu konvertieren, der optional nur dann hinzugefügt wird, wenn ein Filter angewendet wird. Gibt es da Ideen, wie man das einfacher machen kann? Ich hatte „Ersetzen“ in den Ausdruck eingefügt, aber das kam nicht voran, als ich stattdessen eine Liste erstellen musste …
Danke,
--Pfirsich
Automatisierung und SkriptingBetreff: Filter-Col-Selektor mit Optionen aus Ausdrücken erstellen (dynamisch)Suchen Sie nach so etwas? Im Filterspaltenfeld befindet sich eine If-Box, die standardmäßig auf 0 gesetzt ist. Sie können sie auf 1 setzen, um das Suchfeld sichtbar zu machen. Alternativ können Sie die Nachricht << Name enthält> einfach an Ihr Filterspaltenfeld senden, anstatt sie darin zu erstellen (dies ist normalerweise einfacher zu handhaben).
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Arrhythmia.jmp");// case with filter
filt = "interval";
fcs = Filter Col Selector(dt, , width(250), nlines(30));
Eval(EvalExpr(fcs << Name contains(Expr(filt))));
fcs[IfBox(1)] << Set(1);
nw = New Window("Filter Col Selector Example", << modal,
fcs
);
Betreff: Filter-Col-Selektor mit Optionen aus Ausdrücken erstellen (dynamisch)vielen Dank! Ich hatte versucht, eine Nachricht genau so zu senden, wie Sie es beschrieben haben, dachte aber, dass ich das aufgrund meines Modellfensters nicht wirklich tun könnte.
Ich sehe jedoch, dass Sie zuerst den Filterspaltenselektor erstellt und dann zuletzt das modale Fenster erstellt haben – einfach, daran hatte ich einfach nicht gedacht. Perfekt, danke
Betreff: Filter-Col-Selektor mit Optionen aus Ausdrücken erstellen (dynamisch)Sie können es entweder vorher erstellen (ich würde das tun), aber Sie können die Nachrichten auch im neuen Fenster senden und es sollte funktionieren
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Arrhythmia.jmp");// case with filter
filt = "interval";
nw = New Window("Filter Col Selector Example", << modal,
fcs = Filter Col Selector(dt, , width(250), nlines(30)),
Eval(EvalExpr(fcs << Name contains(Expr(filt))));
fcs[IfBox(1)] << Set(1);
);