Hola,
¿Cuál es la mejor manera de activar JSL cuando selecciono un punto de datos en Graph Builder?
por ejemplo, para actualizar partes del panel en función de la selección actual
Ahí está el Controlador de estado de fila .
Pero esta es una propiedad de la tabla de datos. Por lo tanto, el código JSL se activará incluso después de que se cierre el Panel.
Entonces tendría que tener cuidado de quitarlo después.
Noté que un Controlador de cambio de filtro de un filtro de datos local puede actuar como un controlador de estado de fila; incluso se activará cuando el mouse toque un punto de datos.
"Genial": esta característica es "tal como está diseñada". Parece que todavía está disponible en Jmp18, pero me imagino que se desactivará en algún momento posterior:
Mejorar los controladores de estado de JMP (etiqueta flotante, controlador de estado de fila, controlador de estado de filtro, programador, ...)
New window("test", Data Filter Context Box(
V List box(tb = Text Box ("hello"),
H list Box(
ldf = dt << data filter(local),
gb = dt << Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) )) )
)))));
i=1;
f = Function( {a}, Print( tb << set text(Char(i++)) ) );
rs = ldf << Make Filter Change Handler( f );Yo diría que depende de lo que desee hacer con la selección de puntos de datos, cuántos puntos de datos (o más bien filas) podrían seleccionarse al mismo tiempo y posiblemente otras cosas.
1 punto/fila (el script utilizará la primera fila seleccionada y descuidará las selecciones posteriores)
Por el momento iremos por:
- Filtro de datos local (simplemente generarlo y ocultarlo)
- Controlador de cambios de filtro (para abusar de él como controlador de estado de fila local)
- comprobar si el FILA Se cambió la selección; de lo contrario, no haga nada.