Creación de un selector de columnas de filtro con opciones de expresiones (dinámicamente)Mi objetivo es crear un selector de columnas de filtro en una ventana modal que aplique un filtro predeterminado "nombre contiene" si se le asigna uno a la función. Sin embargo, si la entrada a la función tiene un filtro en blanco, deja abierto el cuadro de filtro para que el usuario pueda introducir un filtro.
Aquí se muestra un ejemplo del resultado deseado si la entrada estuviera en blanco, en comparación con "intervalo".
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>
Así que me metí en un lío al intentar convertir "el nombre contiene" en una expresión que, opcionalmente, se añadiría solo en caso de aplicar un filtro. ¿Alguna idea de cómo hacerlo fácilmente? Había incluido un sustituto en la expresión, pero se bloqueó cuando necesité crear una lista...
Gracias,
--Durazno
Automatización y scriptingRe: creación de un selector de columnas de filtro con opciones de expresiones (dinámicamente)¿Buscas algo similar? Hay un ifbox que está configurado a 0 por defecto en el cuadro de columna de filtro. Puedes configurarlo a 1 para que el cuadro de búsqueda sea visible. También puedes enviar el mensaje "<< Nombre Contiene" a tu cuadro de columna de filtro en lugar de crearlo dentro (normalmente es más fácil de gestionar de esta manera).
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: creación de un selector de columnas de filtro con opciones de expresiones (dinámicamente)¡Muchísimas gracias! Intenté enviar un mensaje exactamente como mencionaste, pero pensé que, como tenía una ventana de modelo, no podía hacerlo.
Sin embargo, veo que primero construiste el selector de columna de filtro y luego creaste la ventana modal por último. Simple, simplemente no había pensado en eso. Perfecto, gracias.
Re: creación de un selector de columnas de filtro con opciones de expresiones (dinámicamente)Puedes construirlo antes (yo lo haría) pero también puedes enviar los mensajes dentro de la nueva ventana y debería funcionar.
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);
);