Comment puis-je modifier l'exécution du code jusqu'à ce que l'utilisateur sélectionne le premier ensemble de données à filtrer?J'ai une fenêtre pour inviter l'utilisateur à filtrer en fonction des numéros de modèle qu'il souhaite choisir, le problème est que je pense que cette fenêtre est en train d'être écrasée et qu'elle génère une erreur lorsqu'elle est exécutée complètement. Je voudrais donc pour s’arrêter d’abord, afficher la fenêtre et attendre que l’utilisateur saisisse ses choix. Voici le script de fenêtre:
//*** Create a window to prompt user to filter for Model numbers they would like to use
prods = Associative Array( Column( dt2, "Product CFN" ) << getValues ) << getKeys;
nw1 = New Window( "2014 Product Filter", lb1 = List Box( prods ), Button Box( "OK", OKscript2014 ) );
OKscript2014 = Expr(
SelectedProds = lb1 << getSelected;
selectedRows = [];
For( p = 1, p <= N Items( SelectedProds ), p++,
selectedRows = V Concat( selectedRows, dt2 << getRowsWhere( :Product CFN == SelectedProds[p] ) )
);
dt5 = dt2 << Subset( Rows( selectedRows ), LinkToOriginalDataTable( 0 ) );
Wait( 0 );
dt5 << Save( dir || "\PrimaryRFR_ProductFiltered_2014.jmp" );
);
Re: Comment puis-je interrompre l'exécution de code jusqu'à ce que l'utilisateur sélectionne le premier ensemble de données à filtrer?Rendre la fenêtre modale - qui arrête l'exécution du code jusqu'à la fermeture de la fenêtre. Vous devrez également déplacer la définition du script dans le bouton de la fenêtre située au-dessus de la fenêtre elle-même. Exemple:
prods = Associative Array( Column( dt2, "Product CFN" ) << getValues ) << getKeys;
OKscript2014 = Expr(
SelectedProds = lb1 << getSelected;
selectedRows = [];
For( p = 1, p <= N Items( SelectedProds ), p++,
selectedRows = V Concat( selectedRows, dt2 << getRowsWhere( :Product CFN == SelectedProds[p] ) )
);
dt5 = dt2 << Subset( Rows( selectedRows ), LinkToOriginalDataTable( 0 ) );
Wait( 0 );
dt5 << Save( dir || "\PrimaryRFR_ProductFiltered_2014.jmp" );
);
nw1 = New Window( "2014 Product Filter", <<MODAL></MODAL>
Re: Comment puis-je interrompre l'exécution de code jusqu'à ce que l'utilisateur sélectionne le premier ensemble de données à filtrer?Je vous remercie! Est-il également possible de faire en sorte que cette fenêtre reste à l'avant et centrée sur l'utilisateur? Pour qu'il ne soit pas surdisplayé par une autre table de données?
Meilleurs voeux,
ZachRe: Comment puis-je interrompre l'exécution de code jusqu'à ce que l'utilisateur sélectionne le premier ensemble de données à filtrer?Une fenêtre modale doit toujours être au-dessus. Si d'autres fenêtres s'affichent au-dessus d'une fenêtre modale, nous vous recommandons d'appeler le support technique. Une fenêtre non modale ne sera pas toujours au dessus. Vous pouvez envoyer le message << amener la fenêtre au premier plan à une fenêtre non modale.