Wie kann ich die Codeausführung so lange verzögern, bis der Benutzer den ersten zu filternden Datensatz auswählt?Ich habe ein Fenster, in dem der Benutzer aufgefordert wird, nach Modellnummern zu filtern, die er auswählen möchte. Das Problem ist, dass dieses Fenster meiner Meinung nach überschrieben wird und einen Fehler verursacht, wenn es vollständig durchläuft Sie können zunächst anhalten, das Fenster anzeigen und warten, bis der Benutzer seine Auswahl getroffen hat. Hier ist das Fensterskript:
//*** 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" );
);
Betreff: Wie kann ich die Codeausführung unterbrechen, bis der Benutzer den ersten zu filternden Datensatz auswählt?Machen Sie das Fenster modal - das die gesamte Codeausführung anhält, bis das Fenster geschlossen wird. Sie müssen auch die Definition des Skripts in der Schaltfläche im Fenster über dem Fenster selbst verschieben. Beispiel:
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>
Betreff: Wie kann ich die Codeausführung unterbrechen, bis der Benutzer den ersten zu filternden Datensatz auswählt?Vielen Dank! Gibt es auch eine Möglichkeit, dieses Fenster vorne und zentriert zum Benutzer zu halten? Damit es nicht von einer anderen Datentabelle überspielt wird?
Herzliche Grüße,
ZachBetreff: Wie kann ich die Codeausführung unterbrechen, bis der Benutzer den ersten zu filternden Datensatz auswählt?Ein modales Fenster sollte immer oben sein. Wenn andere Fenster über einem modalen Fenster angezeigt werden, sollten Sie sich an den technischen Support wenden. Ein nicht modales Fenster wird nicht immer oben sein. Sie können ein nicht-modales Fenster mit der Nachricht << bring window to front senden.