Bug dans JMP 13.1 pour la fonction de changement de ligne de zone de tableBonjour les utilisateurs de JMP,
J'ai rencontré un bogue avec la fonction de changement de ligne pour une zone de tableau. J'essaye de changer le focus en un onglet différent dans la fonction mais il est ignoré. J'ai contacté le support technique de JMP qui lui a dit que le problème serait résolu dans les versions 13.2 ou 14 de JMP. Ceci est un spectacle pour moi. Je me demandais si quelqu'un d'autre avait remarqué ce comportement et était capable de trouver une solution de contournement?
Merci,
Peter
Voici le programme qui illustre le bogue:
nw = new window("test",
tabx = tab box(
"First Tab",
tb = table box(
scb1 = string col box("One", {"AAA", "BBB", "CCC"}),
scb2 = string col box("Two", {"XXX", "YYY", "ZZZ"}),
scb3 = string col box("Three", {"Giant", "Awesome", "Stupendous"}),
ncb = number col box("Four", {44, 33, 22}),
),
"Second Tab",
txb = text box("Nothing selected"),
),
);
tb << Set Selectable Rows(1);
tb << set row change function(
function({this},
rlist = this << get selected rows;
if (nrows(rlist) > 0,
print(rlist[1]);
txb << set text(char(rlist[1]));
tabx << set selected(2);
);
);
);Objet: Bug dans JMP 13.1 pour la fonction de changement de ligne de la table de tableMerci Dan. C'est une solution du genre goldberg-ish rube mais ça marche!
Objet: Bug dans JMP 13.1 pour la fonction de changement de ligne de la table de tableSalut Peter,
Ce problème était dû à l'ajout de la focalisation pour la Tab Page Box dans JMP 13. Lorsque vous cliquez dans une page à onglet, il souhaite activer le focus s'il ne l'est pas déjà. Dans ce cas, le moment est décisif, car le rappel de changement de ligne définit le focus sur le deuxième onglet, puis l'onglet sur lequel vous avez cliqué le remplace immédiatement.
Pour contourner le problème, nous avons besoin d’un moyen de définir l’onglet une fois le traitement des clics terminé. Voici un exemple où je définis une variable pour la page à onglet vers laquelle je veux basculer, puis dans un script graphique Frame Box, la page à onglet est réinitialisée. Cela se produit lors du prochain tirage, ce qui se produira immédiatement après la fin du clic.
J'espère que ça aide!
-Dan
tabOverride = 0;
nw = New Window( "test",
V List Box(
tabx = Tab Box(
"First Tab",
tb = Table Box(
scb1 = String Col Box( "One", {"AAA", "BBB", "CCC"} ),
scb2 = String Col Box( "Two", {"XXX", "YYY", "ZZZ"} ),
scb3 = String Col Box( "Three", {"Giant", "Awesome", "Stupendous"} ),
ncb = Number Col Box( "Four", {44, 33, 22} ),
),
"Second Tab",
txb = Text Box( "Nothing selected" ),
),
gb = Graph Box( Frame Size( 1, 1 ), XName( "" ), YName( "" ) )
)
);
Try(gb[AxisBox( 1 )] << Delete Box);
Try(gb[AxisBox( 1 )] << Delete Box);
Try(gb[Text Edit Box( 1 )] << Delete Box);
Try(gb[Border Box(1)] << Top(0) << Bottom(0) << Left(0) << Right(0));
gb[FrameBox( 1 )] << Add Graphics Script(
If( tabOverride > 0,
tabx << Set Selected( tabOverride );
tabOverride = 0;
)
);
tb << Set Selectable Rows( 1 );
tb << set row change function(
Function( {this},
rlist = this << get selected rows;
If( N Rows( rlist ) > 0,
Print( rlist[1] );
txb << set text( Char( rlist[1] ) );
tabOverride = 2;
tabx << set selected( 2 );
);
)
);
Objet: Bug dans JMP 13.1 pour la fonction de changement de ligne de la table de tablePete,
J'ai rencontré des problèmes similaires avec les onglets. Plusieurs fois, j'ai résolu les problèmes en supprimant l'insert spécifique, puis en le reconstruisant avec les nouvelles informations. Visuellement, cela n’a aucun impact sur l’utilisateur, alors quand cela fonctionne, c’est un bon travail. Cependant, j'ai essayé de faire de même avec votre exemple de script et je n'ai pas pu surmonter votre problème de "sélection".