Comment sélectionner des lignes dans une tablebox JSL et leur attribuer une couleur spécifique<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai placé un ticket de support technique pour obtenir la réponse à cette question simple, car il n'y a pas d'autre message pertinent pour ce problème. J'ai décidé de partager la réponse ici avec la communauté JMP afin que d'autres puissent également en bénéficier :
Ma question:
Si c'est possible, j'aimerais savoir si je peux effectuer les opérations suivantes sur une TableBox :
GuiWindow = Nouvelle fenetre ( "SMS1" ) ;
la boîte = TableBox (
chaîneColBox ( "État" , { "Floride" , "Texas" , "Principal" , "Californie" }) ,
NombreColBox ( "Largeur" , { 45 , 66 , 88 , 13 }) ,
NombreColBox ( "Longueur" , { 67 , 34 , 1 , 78 }) ,
NombreColBox ( "Profondeur" , { 13 , 65 , 32 , 56 }) ) ;
la boîte << Définir des lignes sélectionnables ( 1 ) ;
GuiWindow << Ajouter ( la boîte ) ;
- Sélectionnez une ligne dans un TableBox qui répond aux critères suivants : colonne Longueur est plus grand que Colonne Profondeur
- Dans cet exemple, les lignes sélectionnées doivent être : Ligne 1 (Floride) et Ligne 4 (Californie)
- Changez la couleur de la ligne en Rouge.
Support technique réponse (Merci Marcos!)
GuiWindow = Nouvelle fenetre ( "SMS1" ) ;
la boîte = TableBox (
chaîneColBox ( "État" , { "Floride" , "Texas" , "Principal" , "Californie" }) ,
NombreColBox ( "Largeur" , { 45 , 66 , 88 , 13 }) ,
NombreColBox ( "Longueur" , { 67 , 34 , 1 , 78 }) ,
NombreColBox ( "Profondeur" , { 13 , 65 , 32 , 56 }) ) ;
la boîte << Définir des lignes sélectionnables ( 1 ) ;
GuiWindow << Ajouter ( la boîte ) ;
dt = la boîte << Transformer en tableau de données ( invisible ) ;
rs = dt << Obtenir des lignes où ( : Longueur > : Profondeur ) ;
la boîte << Définir les lignes sélectionnées ( rs ) ;
la boîte << Définir la couleur de la ligne sélectionnée ( "rouge" ) ;
J'espère que ça aide.S'il vous plaît laissez-moi savoir quelles autres questions vous avez.
Salutations
Marcos
Re : Comment sélectionner des lignes dans une tablebox JSL et leur attribuer une couleur spécifiqueSupport technique réponse (Merci Marcos!)
GuiWindow = Nouvelle fenetre ( "SMS1" ) ;
la boîte = TableBox (
chaîneColBox ( "État" , { "Floride" , "Texas" , "Principal" , "Californie" }) ,
NombreColBox ( "Largeur" , { 45 , 66 , 88 , 13 }) ,
NombreColBox ( "Longueur" , { 67 , 34 , 1 , 78 }) ,
NombreColBox ( "Profondeur" , { 13 , 65 , 32 , 56 }) ) ;
la boîte << Définir des lignes sélectionnables ( 1 ) ;
GuiWindow << Ajouter ( la boîte ) ;
dt = la boîte << Transformer en tableau de données ( invisible ) ;
rs = dt << Obtenir des lignes où ( : Longueur > : Profondeur ) ;
la boîte << Définir les lignes sélectionnées ( rs ) ;
la boîte << Définir la couleur de la ligne sélectionnée ( "rouge" ) ;
J'espère que ça aide.S'il vous plaît laissez-moi savoir quelles autres questions vous avez.
Salutations
Marcos
Re : Comment sélectionner des lignes dans une tablebox JSL et leur attribuer une couleur spécifiqueSalut Mark,
J'ai essayé votre suggestion, mais je perds la coloration dans le processus. Voici le comportement que je remarque, faites-moi savoir que vous pouvez également le reproduire (j'utilise JMP 11 Pro et Standard).
Si je place la ligne ' theBox << Définir les lignes sélectionnables (0);' à la fin, je perds la coloration (les lignes ne sont plus sélectionnées).
GuiWindow = NouvelleFenêtre("SMS1");
theBox = TableBox(
stringColBox("État",{"Floride", "Texas", "Main", "Californie"}),
NombreColBox("Largeur",{45,66,88,13}),
NombreColBox("Longueur",{67,34,1,78}),
NumberColBox("Profondeur",{13,65,32,56}));
theBox << Définir les lignes sélectionnables (1);
GuiWindow << Append(theBox);
dt = theBox << Transformer en table de données (invisible);
rs = dt << Get Rows Where( :Length > :Depth );
theBox << Définir les lignes sélectionnées ( rs );
theBox << Définir la couleur de la ligne sélectionnée( "red" );
theBox << Définir les lignes sélectionnables (0);
Si je place la ligne ailleurs après avoir déclaré l'objet theBox, les lignes sont sélectionnées et colorées comme prévu, mais l'utilisateur peut sélectionner d'autres lignes et ainsi modifier la sortie initiale.
GuiWindow = NouvelleFenêtre("SMS1");
theBox = TableBox(
stringColBox("État",{"Floride", "Texas", "Main", "Californie"}),
NombreColBox("Largeur",{45,66,88,13}),
NombreColBox("Longueur",{67,34,1,78}),
NumberColBox("Profondeur",{13,65,32,56}));
theBox << Définir les lignes sélectionnables (1);
GuiWindow << Append(theBox);
theBox << Définir les lignes sélectionnables (0);
dt = theBox << Transformer en table de données (invisible);
rs = dt << Get Rows Where( :Length > :Depth );
theBox << Définir les lignes sélectionnées ( rs );
theBox << Définir la couleur de la ligne sélectionnée( "red" );
Re : Comment sélectionner des lignes dans une tablebox JSL et leur attribuer une couleur spécifiqueCe script laisse la boîte de table ouverte à une sélection ultérieure par l'utilisateur dans la mesure du possible. Si tout ce que vous voulez faire est de mettre en évidence des cas particuliers dans le tableau, suivez ce message :
la boîte << Définir des lignes sélectionnables ( 0 ) ;
Vous ne perdrez pas la coloration.