So wählen Sie Zeilen in einer JSL-Tabellenbox aus und weisen ihnen eine bestimmte Farbe zu<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe ein Ticket für den technischen Support erstellt, um die Antwort auf diese einfache Frage zu erhalten, da es keinen anderen Beitrag gibt, der zu diesem Problem relevant ist. Ich habe beschlossen, die Antwort hier mit der JMP-Community zu teilen, damit auch andere davon profitieren können:
Meine Frage:
Wenn es möglich ist, würde ich gerne wissen, ob ich Folgendes auf einer TableBox ausführen kann:
GuiWindow = Neues Fenster ( „SMS1“ ) ;
die Kiste = TableBox (
stringColBox ( "Zustand" , { "Florida" , "Texas" , "Hauptsächlich" , "Kalifornien" }) ,
NumberColBox ( "Breite" , { 45 , 66 , 88 , 13 }) ,
NumberColBox ( "Länge" , { 67 , 34 , 1 , 78 }) ,
NumberColBox ( "Tiefe" , { 13 , 65 , 32 , 56 }) ) ;
die Kiste << Auswählbare Zeilen festlegen ( 1 ) ;
GuiWindow << Anhängen ( die Kiste ) ;
- Wählen Sie eine Zeile in einer TableBox aus, die die folgenden Kriterien erfüllt: Spalte Länge ist größer als Spalte Tiefe
- In diesem Beispiel sollten die ausgewählten Zeilen sein: Zeile 1 (Florida) und Zeile 4 (Kalifornien)
- Ändern Sie die Zeilenfarbe in Rot.
Technischer Support antworten (Danke Marcos!)
GuiWindow = Neues Fenster ( „SMS1“ ) ;
die Kiste = TableBox (
stringColBox ( "Zustand" , { "Florida" , "Texas" , "Hauptsächlich" , "Kalifornien" }) ,
NumberColBox ( "Breite" , { 45 , 66 , 88 , 13 }) ,
NumberColBox ( "Länge" , { 67 , 34 , 1 , 78 }) ,
NumberColBox ( "Tiefe" , { 13 , 65 , 32 , 56 }) ) ;
die Kiste << Auswählbare Zeilen festlegen ( 1 ) ;
GuiWindow << Anhängen ( die Kiste ) ;
dt = die Kiste << In Datentabelle umwandeln ( unsichtbar ) ;
rs = dt << Zeilen wo abrufen ( : Länge > : Tiefe ) ;
die Kiste << Ausgewählte Zeilen festlegen ( rs ) ;
die Kiste << Legen Sie die Farbe der ausgewählten Zeile fest ( "Rot" ) ;
Ich hoffe das hilft.Bitte lassen Sie mich wissen, welche weiteren Fragen Sie haben.
Grüße
Marcos
Betreff: So wählen Sie Zeilen in einer JSL-Tabellenbox aus und weisen ihnen eine bestimmte Farbe zuTechnischer Support antworten (Danke Marcos!)
GuiWindow = Neues Fenster ( „SMS1“ ) ;
die Kiste = TableBox (
stringColBox ( "Zustand" , { "Florida" , "Texas" , "Hauptsächlich" , "Kalifornien" }) ,
NumberColBox ( "Breite" , { 45 , 66 , 88 , 13 }) ,
NumberColBox ( "Länge" , { 67 , 34 , 1 , 78 }) ,
NumberColBox ( "Tiefe" , { 13 , 65 , 32 , 56 }) ) ;
die Kiste << Auswählbare Zeilen festlegen ( 1 ) ;
GuiWindow << Anhängen ( die Kiste ) ;
dt = die Kiste << In Datentabelle umwandeln ( unsichtbar ) ;
rs = dt << Zeilen wo abrufen ( : Länge > : Tiefe ) ;
die Kiste << Ausgewählte Zeilen festlegen ( rs ) ;
die Kiste << Legen Sie die Farbe der ausgewählten Zeile fest ( "Rot" ) ;
Ich hoffe das hilft.Bitte lassen Sie mich wissen, welche weiteren Fragen Sie haben.
Grüße
Marcos
Betreff: So wählen Sie Zeilen in einer JSL-Tabellenbox aus und weisen ihnen eine bestimmte Farbe zuHallo Mark,
Ich habe deinen Vorschlag ausprobiert, aber dabei verliere ich die Farbe. Hier ist das Verhalten, das mir auffällt. Lassen Sie mich wissen, dass Sie es auch reproduzieren können (ich verwende JMP 11 Pro und Standard).
Wenn ich die Linie platziere ' theBox << Auswählbare Zeilen festlegen(0);' Am Ende verliere ich die Farbgebung (die Zeilen sind nicht mehr ausgewählt).
GuiWindow = NewWindow("SMS1");
theBox = TableBox(
stringColBox("State",{"Florida", "Texas", "Main", "California"}),
NumberColBox("Width",{45,66,88,13}),
NumberColBox("Länge",{67,34,1,78}),
NumberColBox("Depth",{13,65,32,56}));
theBox << Set Selectable Rows(1);
GuiWindow << Append(theBox);
dt = theBox << In Datentabelle umwandeln (unsichtbar);
rs = dt << Get Rows Where( :Length > :Depth );
theBox << Set Selected Rows( rs );
theBox << Set Selected Row Color( "red" );
theBox << Set Selectable Rows(0);
Wenn ich die Zeile nach der Deklaration des theBox-Objekts an einer anderen Stelle platziere, werden die Zeilen wie erwartet ausgewählt und gefärbt, aber der Benutzer kann andere Zeilen auswählen und so die anfängliche Ausgabe ändern.
GuiWindow = NewWindow("SMS1");
theBox = TableBox(
stringColBox("State",{"Florida", "Texas", "Main", "California"}),
NumberColBox("Width",{45,66,88,13}),
NumberColBox("Länge",{67,34,1,78}),
NumberColBox("Depth",{13,65,32,56}));
theBox << Set Selectable Rows(1);
GuiWindow << Append(theBox);
theBox << Set Selectable Rows(0);
dt = theBox << In Datentabelle umwandeln (unsichtbar);
rs = dt << Get Rows Where( :Length > :Depth );
theBox << Set Selected Rows( rs );
theBox << Set Selected Row Color( "red" );
Betreff: So wählen Sie Zeilen in einer JSL-Tabellenbox aus und weisen ihnen eine bestimmte Farbe zuDieses Skript lässt das Tabellenfeld soweit wie möglich zur weiteren Auswahl durch den Benutzer offen. Wenn Sie lediglich bestimmte Fälle in der Tabelle hervorheben möchten, folgen Sie dieser Meldung:
die Kiste << Auswählbare Zeilen festlegen ( 0 ) ;
Sie werden die Farbe nicht verlieren.