Desplazar un cuadro de tabla para mostrar una fila específica<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola: tengo un cuadro de tabla que contiene unos pocos miles de filas, por lo que solo las primeras filas son directamente visibles dentro de la ventana que lo contiene: para ver el resto necesito desplazarme por el cuadro de tabla con la barra de desplazamiento vertical.En algún lugar dentro de ese cuadro de tabla hay una fila que satisface un criterio particular.Un script simple me dirá cuál es el número de fila, y la propiedad Establecer filas seleccionadas() lo resaltará, por lo que podría desplazarme fácilmente hacia abajo en la tabla hasta esa fila para encontrarla, pero preferiría tener la tabla El cuadro se desplazó automáticamente al punto correcto para que se me muestre la fila.
¿Hay alguna manera de escribir eso?No puedo ver una propiedad enumerada en el comando "Mostrar propiedades" que parezca que podría realizar dicha función.
Muchas gracias
Re: Desplazar un cuadro de tabla para mostrar una fila específicaLo siento, acabo de darme cuenta de que es mi teclado inalámbrico.Cuando lo hago en el teclado de mi computadora funciona.
Re: Desplazar un cuadro de tabla para mostrar una fila específicaHola, llevo años usando F7 para resaltar la siguiente fila y ahora no funciona.¿Alguna idea de por qué o cómo puedo solucionar este problema?
Gracias,
Villancico
Re: Desplazar un cuadro de tabla para mostrar una fila específicaHola. Recientemente tuve la misma pregunta y contacté al soporte de JMP (crédito a Jasean). Su solución se muestra a continuación y solo quería compartirla en caso de que alguien más encuentre esto. Básicamente: no puedes controlar la posición de desplazamiento en un TableBox, pero puedes hacerlo con un VScrollBox. Por lo tanto, desactive el desplazamiento en TableBox y, en su lugar, incluya el cuadro de la tabla en un VScrollBox.
Names Default to Here(1);
long_lis = {};
for each({i}, 1::100, InsertInto(long_lis, "Item " || Char(i)));
scb = StringColBox("Long List", long_lis);
tbl = TableBox(scb);
tbl << Set Scrollable(0, 0); //Turning off scrolling in the tbl box
tbl << Set Selectable Rows;
goto_bb = ButtonBox("Go To Item",
toSelect = neb << Get;
ItemCount = NItems(long_lis);
tbl << Set Selected Rows(EvalList({toSelect})); // select desired item
{h_extent, v_extent} = vsb << Get Scroll Extents; // in pixels
// determine portion of list above selected item and scroll to that relative position
portion = toSelect / ItemCount;
if(portion < 0.05, portion = 0);
vsb << Set Scroll Position(0, portion * v_extent); // in pixels
);
winny = NewWindow("test",
goto_bb, neb = Number Edit Box(50),
vsb = VScrollBox(Size(360), tbl) // set the size as number of pixels
);
Estoy de acuerdo en que no es tan limpio como tener el control integrado directamente en TableBox, pero funciona. Espero que esto ayude.
-nikles
Re: Desplazar un cuadro de tabla para mostrar una fila específicaNo conozco ningún mensaje que pueda enviarse a un cuadro de tabla para que se desplace a una ubicación específica.He presentado tal solicitud a Soporte@jmp.com , pero todavía no he visto nada.
Espero que haya alguien por ahí que pueda demostrar que estoy equivocado.
Re: Desplazar un cuadro de tabla para mostrar una fila específicaHola Bill,
Me temo que no; esto es algo que necesito poder hacer con un script JSL, porque estoy tratando de eliminar la necesidad de cualquier acción por parte del usuario mientras se ejecutan otras tareas.Si, por ejemplo, mi secuencia de comandos ya ha determinado que la fila que el usuario necesita ver es la fila 12345, pero solo se pueden ver en la pantalla las primeras 20 filas del cuadro de tabla, entonces esencialmente lo que necesito poder hacer aquí es enviar un mensaje en el cuadro de tabla que dice "desplácese hacia abajo hasta la fila 12345, para que esa fila se muestre dentro de la ventana".
Una forma alternativa de hacerlo sería simplemente extraer el contenido de la fila 12345 y mostrarlo por separado, pero preferiría desplazar la pantalla hacia abajo hasta la fila relevante porque hay otra información contenida en la tabla alrededor de esa posición que también es probable que ser de interés para el usuario.
Puede ser que en realidad no pueda hacer esto, en cuyo caso encontraré otra salida, pero sentí que valía la pena preguntar primero.
Muchas gracias
Re: Desplazar un cuadro de tabla para mostrar una fila específicaHola dqr2,
¿Estás graficando tus datos?Si es así, una cosa que puedes hacer es resaltar un punto de datos o un conjunto de puntos en el gráfico que sean de interés.Vuelva a su tabla de datos y presione la tecla F7.Al presionar F7, accederá a la fila de la tabla correspondiente al punto de datos que aparece primero en la lista de puntos seleccionados.Luego puede presionar F7 nuevamente para ir al siguiente punto.Pulsa F6 para volver al punto anterior.
Mejor,
Factura