actualizar un cuadro combinado en el que la lista proviene de una tabla de datos que debe ser abierta por el usuario<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Fondo
Estoy creando una pequeña aplicación con pestañas, en una de ellas solicito al usuario abrir una tabla de datos
En otra pestaña tengo un cuadro combinado que muestra una lista de valores únicos ("unique_copy_list') de una columna de esa tabla de datos
cbx1 = intentar ( Caja combo ( lista_copia_única ) , ) ,
Problema:
Cuando se inicia la aplicación, no se selecciona la tabla de datos, por lo que aparece " lista_copia_única” no está disponible,
¿Hay alguna manera de actualizar el cuadro combinado?
O es mejor usar un enfoque diferente
Re: actualizar un cuadro combinado en el que la lista proviene de una tabla de datos que debe ser abierta por el usuarioGracias chicos por su apoyo. Punto tomado, lo actualizaré pronto. De todos modos, con quitar y agregar hice el trabajo.
Re: actualizar un cuadro combinado en el que la lista proviene de una tabla de datos que debe ser abierta por el usuarioLa sintaxis JSL evoluciona con el tiempo, por lo que si está utilizando una versión muy antigua de JMP, será de gran ayuda mencionar esto cuando publique una solicitud de ayuda.Lo que intenta hacer se puede hacer en la versión 9, pero los métodos para actualizar los cuadros de lista y los cuadros combinados han cambiado desde entonces.Pensé que Establecer elementos era nuevo en la versión 10, pero tal vez me equivoque, pero sé que en las versiones actuales esto es mucho más fácil, como lo ilustra Peter.Sin embargo, aún puedes usar el principio básico, que es enviar mensajes al cuadro combinado una vez que se selecciona la tabla de datos.Un enfoque largo es eliminar elementos de forma iterativa (<Re: actualizar un cuadro combinado en el que la lista proviene de una tabla de datos que debe ser abierta por el usuario
Yo uso JMP 9.0.2
Utilicé todo el código que me enviaste para validar la solución simplemente cambiando el nombre de la columna de "cliente" por "Copiar", pero esto no es relevante ya que la variable only_copy_list contiene la información correcta, sin embargo, parece que los comandos establecidos por los elementos no tienen el efecto deseado.
Re: actualizar un cuadro combinado en el que la lista proviene de una tabla de datos que debe ser abierta por el usuario¿Puedes publicar tu código?Además, ¿qué versión de JMP estás usando?Mi programa solo funciona si abres el conjunto de datos de muestra llamado " Datos de bandas ".
Re: actualizar un cuadro combinado en el que la lista proviene de una tabla de datos que debe ser abierta por el usuarioGracias por su rápida respuesta, el comando configurar elementos aún no actualiza el cuadro combinado mencionado: S
Funciona bien pero no hay error de registro pero el cuadro combinado no lo refleja
También ejecuté tu script completo (gracias de nuevo) y todavía no.
Re: actualizar un cuadro combinado en el que la lista proviene de una tabla de datos que debe ser abierta por el usuarioDebe configurar una devolución de llamada para cargar el cuadro combinado.He aquí un pequeño ejemplo.Tienes que abrir el conjunto de datos de ejemplo Bands Data para que esto funcione.También incluí una función para obtener los valores únicos de una columna.
/* Nombre de la función Obtener valores únicos
Descripción: obtiene los valores únicos para una columna. Por ejemplo:
Indicaciones
------------
AAAAA
BBBBB
AAAAA
CCCCCC
CCCCCC
lista_única = obtener valores únicos (:Indicaciones)
devolverá {"AAAAA", "BBBBB", "CCCCC"}
Argumentos:
Descriptor de columna dtcol para calcular valores únicos para
*/
Obtenga valores únicos = Función ( { dtcol } , { local predeterminado } ,
// Truco de evaluación/expr para que esto funcione.
evaluar ( evaluación expr (
Resumir ( lista_única = Por ( exprés ( dtcol ))))) ;
lista_única ;
) ;
noroeste = nueva ventana ( "Prueba" ,
cuadro de pestañas (
"Primera pestaña" ,
botón_abierto = caja de botones ( "Abierto" ,
dt = abierto () ;
// Este ejemplo funcionará con datos de bandas...
lista_copia_única = obtener valores únicos ( columna ( dt , "cliente" )) ;
cbx1 << establecer elementos ( lista_copia_única ) ;
) ,
"Segunda pestaña" ,
cbx1 = Caja combo () , // Inicialmente esto estará vacío
)
) ;