Ri: Possibile modificare un singolo valore in un elenco di stringhe col box()?Sono disponibili le opzioni Elimina riga e Inserisci riga per la casella della tabella, che potrebbero aiutarti.Se c'è più di una colonna nella casella della tabella, può diventare complesso, tenendo traccia di tutte le colonne nella casella della tabella
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"} );Ri: Possibile modificare un singolo valore in un elenco di stringhe col box()?Non penso che tu possa impostare singoli valori in String Col Box (almeno non facilmente).
A seconda dell'applicazione, l'utilizzo di Data Table Box potrebbe essere un'opzione
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";
Puoi anche creare una stringa col box usando Col Box e Text Boxes.
Ri: Possibile modificare un singolo valore in un elenco di stringhe col box()?Ecco un esempio completo di modifica di singoli valori in una String Col Box() e in una 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>
Ri: Possibile modificare un singolo valore in un elenco di stringhe col box()?Grazie @jthi .Questo è figo. Non ho mai visto la funzione Data Table Box() prima. Sembra che invece di scrivere i dati per visualizzare le caselle, basta scriverli in una tabella di dati e la finestra si aggiorna automaticamente. Questo mi apre molte porte. Eccellente.
-nikles
Ri: Possibile modificare un singolo valore in un elenco di stringhe col box()?Grazie @txnelson . Mi piace anche la tua idea. Questo dimostra che c'è più di un modo per scuoiare un gatto.
-nikles
È possibile modificare un singolo valore in un elenco di stringhe col box ()?CIAO. Mi chiedo se esiste un modo per aggiornare un singolo elemento in una stringa col box ()? Ad esempio, esiste un comando del tipo:
scb = StringColBox("title", mylist);
scb << Set Item(i, "newvalue"); //is there a cmd like this?Ho una finestra con una stringa col box e vorrei che il mio script aggiornasse un singolo valore. Il mio metodo attuale:
1. Ottieni l'intero elenco dalla stringa col box
2. Modificare l'elenco
3. Riscrivere l'elenco nella casella stringa col.
Funziona, ma può essere lento per elenchi di grandi dimensioni.
L'oggetto di visualizzazione string col box() ha sia un comando "Imposta" che un comando "Imposta valori", ma entrambi sembrano impostare l'intero elenco. Forse c'è un altro trucco che si può usare per cambiare i singoli elementi però?
JMP Pro 17.0.0
Mac OS Ventura 13.1
Grazie.
Qualità e ingegneria di processo