Betreff: Kann man einen einzelnen Wert in einer string col box() list ändern?Für das Tabellenfeld sind die Optionen „Zeile löschen“ und „Zeile einfügen“ verfügbar, die Ihnen möglicherweise helfen können.Wenn es mehr als eine Spalte in der Tabellenbox gibt, kann es kompliziert werden, alle Spalten in der Tabellenbox zu verfolgen
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"} );Betreff: Kann man einen einzelnen Wert in einer string col box() list ändern?Ich glaube nicht, dass Sie in String Col Box einzelne Werte festlegen können (zumindest nicht einfach).
Abhängig von Ihrer Anwendung könnte die Verwendung von Data Table Box eine Option sein
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";
Sie können auch eine Col-Box für Zeichenfolgen erstellen, indem Sie Col-Box und Text-Boxen verwenden.
Betreff: Kann man einen einzelnen Wert in einer string col box() list ändern?Hier ist ein vollständiges Beispiel zum Ändern einzelner Werte in einer String Col Box() und in einer 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>
Betreff: Kann man einen einzelnen Wert in einer string col box() list ändern?Danke @jthi .Das ist cool. Ich habe die Funktion Data Table Box() noch nie gesehen. Anscheinend schreiben Sie Daten nicht in Anzeigefelder, sondern einfach in eine Datentabelle, und das Fenster wird automatisch aktualisiert. Das öffnet mir viele Türen. Exzellent.
-nikles
Betreff: Kann man einen einzelnen Wert in einer string col box() list ändern?Danke @txnelson . Ich finde deine Idee auch gut. Das zeigt nur, dass es mehr als einen Weg gibt, eine Katze zu häuten.
-nikles
Ist es möglich, einen einzelnen Wert in einer String-Col-Box()-Liste zu ändern?Hallo. Ich frage mich, ob es eine Möglichkeit gibt, ein einzelnes Element in einer Zeichenfolge col box() zu aktualisieren? Gibt es zum Beispiel einen Befehl wie:
scb = StringColBox("title", mylist);
scb << Set Item(i, "newvalue"); //is there a cmd like this?Ich habe ein Fenster mit einem String-Col-Feld und möchte, dass mein Skript einen einzelnen Wert aktualisiert. Meine aktuelle Methode:
1. Holen Sie sich die gesamte Liste aus dem Feld „string col“.
2. Ändern Sie die Liste
3. Schreiben Sie die Liste zurück in das Feld „string col“.
Das funktioniert, kann aber bei großen Listen langsam sein.
Das Anzeigeobjekt string col box() hat sowohl einen „Set“- als auch einen „Set Values“-Befehl, aber beide scheinen die gesamte Liste festzulegen. Vielleicht gibt es noch einen anderen Trick, mit dem man einzelne Elemente ändern kann?
JMP Pro 17.0.0
Mac OS Ventura 13.1
Danke.
Qualitäts- und Verfahrenstechnik