creazione di un selettore di colonne di filtro con opzioni da espressioni (dinamicamente)Il mio obiettivo è creare un Filter Col Selector in una finestra modale che applichi un filtro predefinito "name contains" se ne viene fornito uno alla funzione. Tuttavia, nel caso in cui l'input alla funzione abbia un filtro vuoto, lascia aperta la filterbox in modo che l'utente sia pronto a immettere un filtro.
Ecco un esempio del risultato dell'output desiderato se l'input fosse stato vuoto, rispetto a "intervallo"
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>
Quindi ho iniziato a scendere nella tana del Bianconiglio trasformando "nome contiene" in un'espressione che sarebbe stata aggiunta facoltativamente solo nel caso in cui si applica un filtro. Avete qualche idea su come farlo facilmente? Avevo sostituito nell'espressione, ma si è bloccato quando ho dovuto creare un elenco...
Grazie,
--Pesca
Automazione e scriptingRe: creazione di un selettore di colonne di filtro con opzioni da espressioni (dinamicamente)Stai cercando qualcosa del genere? C'è un ifbox che è impostato su 0 di default nella casella filtro col, puoi impostarlo su 1 per rendere visibile la casella di ricerca. Puoi anche semplicemente inviare il messaggio << Nome Contiene alla tua casella filtro col invece di crearlo all'interno (solitamente è più facile da gestire in questo modo).
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
);
Re: creazione di un selettore di colonne di filtro con opzioni da espressioni (dinamicamente)grazie mille! Avevo provato a inviare un messaggio esattamente come hai detto, ma ho pensato che, poiché avevo una finestra modello, non potevo farlo.
tuttavia, vedo che hai creato prima il selettore del filtro, poi hai creato la finestra modale per ultima - semplice, non ci avevo pensato. Perfetto, grazie
Re: creazione di un selettore di colonne di filtro con opzioni da espressioni (dinamicamente)Puoi crearlo prima (io farei così) ma puoi anche inviare i messaggi all'interno della nuova finestra e dovrebbe funzionare
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);
);