Re: ¿Es posible cambiar un solo valor en una lista de string col box()?Hay opciones Eliminar fila e Insertar fila disponibles para el Cuadro de tabla, que podrían ayudarlo.Si hay más de una columna en el cuadro de la tabla, puede volverse complejo, haciendo un seguimiento de todas las columnas en el cuadro de la tabla.
Names Default To Here( 1 );
New Window( "test",
tb = Table Box(
String Col Box( "string col", {"a", "b", "c", "d"} )
)
);
Wait( 5 );
tb << delete row( 2 );
tb << insert row( 2, {"x"} );Re: ¿Es posible cambiar un solo valor en una lista de string col box()?No creo que pueda establecer valores únicos en String Col Box (al menos no fácilmente).
Dependiendo de su aplicación, usar Data Table Box podría ser una opción
Names Default To Here(1);
Names Default To Here(1);
dt = New Table("BOX",
New Column("SCB_VALS", Character, Nominal, Values({"A","B","C"}))
, private
);
nw = New Window("Example",
window:dt = dt,
dtb = Data Table Box(dt)
);
nw << On Close(function({this},
Close(this:dt, no save);
));
wait(1);
dt[1,1] = "D";
También puede crear un cuadro de columna de cadena utilizando Cuadro de columna y Cuadros de texto.
Re: ¿Es posible cambiar un solo valor en una lista de string col box()?Aquí hay un ejemplo completo de cómo cambiar valores individuales en un String Col Box() y en un Number Col Box()

Names Default To Here( 1 );
dtData = Open( "$SAMPLE_DATA/big class.jmp", private );
dt = New Table( "hidden", private, New Column( "theRow", set values( Index( 1, N Rows( dtData ) ) ) ) );
dt << update( with( dtData ) );
Close( dtData, nosave );
numberList = As List( Column( dt, 1 ) << get values );
For Each( {value, i}, numberList, numberList[i] = Char( value ) );
nw = New Window( "Example",
H List Box(
myTable = Table Box(
c0 = Number Col Box( "", Column( dt, 1 ) << get values ),
c1 = String Col Box( Column( dt, 2 ) << get name, Column( dt, 2 ) << get values ),
c2 = Number Col Box( Column( dt, 3 ) << get name, Column( dt, 3 ) << get values ),
c3 = String Col Box( Column( dt, 4 ) << get name, Column( dt, 4 ) << get values ),
c4 = Number Col Box( Column( dt, 5 ) << get name, Column( dt, 5 ) << get values ),
c5 = Number Col Box( Column( dt, 6 ) << get name, Column( dt, 6 ) << get values )
),
Panel Box( "Change Values",
H List Box(
cb1 = Combo Box( {"Name", "Age", "Sex", "Height", "Weight"} ),
cb2 = Combo Box( numberList ),
teb = Text Edit Box( "", <<SET width=""></SET>
Re: ¿Es posible cambiar un solo valor en una lista de string col box()?Gracias @jthi .Eso es genial. Nunca antes había visto la función Data Table Box(). Parece que en lugar de escribir datos en los cuadros de visualización, simplemente los escribe en una tabla de datos y la ventana se actualiza automáticamente. Esto me abre muchas puertas. Excelente.
-nikles
Re: ¿Es posible cambiar un solo valor en una lista de string col box()?Gracias @txnelson . Me gusta tu idea también. Solo demuestra que hay más de una forma de despellejar a un gato.
-nikles
¿Es posible cambiar un solo valor en una lista de string col box ()?Hola. Me pregunto si hay una forma de actualizar un solo elemento en un cuadro de cadena col(). Por ejemplo, ¿hay un comando como:
scb = StringColBox("title", mylist);
scb << Set Item(i, "newvalue"); //is there a cmd like this?Tengo una ventana con un cuadro de columna de cadena y me gustaría que mi secuencia de comandos actualice un solo valor. Mi método actual:
1. Obtenga la lista completa del cuadro de columna de cadena
2. Modificar la lista
3. Vuelva a escribir la lista en el cuadro de columna de cadena.
Esto funciona, pero puede ser lento para listas grandes.
El objeto de visualización string col box() tiene un comando "Establecer" y "Establecer valores", pero ambos parecen establecer la lista completa. ¿Quizás hay otro truco que se puede usar para cambiar elementos individuales?
JMP Pro 17.0.0
Mac OS Ventura 13.1
Gracias.
Ingeniería de Calidad y Procesos