So verwenden Sie JSL zum Bearbeiten eines modalen DialogfenstersWas ist der richtige Ansatz, um einen modalen Dialog über JSL zu bearbeiten?
die Idee:
- die Funktion Update-Button hinzufügen fügt einen Button zum Datenfilter hinzu
- es funktioniert, wenn es NACH der Erstellung des Fensters ausgeführt wird
- in the actual use case, the return value of the window is used as input for the subsequent code.
Therefore, <<TYPE><BR /> -> das Fenster wird geschlossen, bevor <FONT face="courier new,courier">die Schaltfläche „Update“ hinzugefügt wird. //Post</FONT> wird ausgeführt</TYPE>
- I tried to add the <FONT face="courier new,courier">Update-Button hinzufügen()</FONT> via <FONT face="courier new,courier"><< beim Öffnen (<BR /></FONT>... without success
<CODE class=" language-jsl">Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Add Properties to Table(
{New Script("reread", JSL Quote(caption("reread ...")), As String( 1 ))});
add update button = function ({},
wait();
Current Report()["Local Data Filter",LineUpBox(1)] <<
append(
b = Button Box( "update",
b << close window();
dt << run script( "reread" );
ShowQueryWindow();
)
));
ShowQueryWindow = Function({},
gui = New Window( "test",
//<<TYPE></TYPE><CODE class=" language-jsl"><LINGO-LABS id="lingo-labs-750202" slang="en-US" mode="UPDATE"><LINGO-LABEL>Automatisierung und Skripting</LINGO-LABEL></LINGO-LABS>Betreff: So verwenden Sie JSL zum Bearbeiten eines modalen DialogfenstersEin Ansatz hierfür in JMP 18 ist die Verwendung eines Fensterhandlers. Der Fensterhandler ist ein Funktionswrapper, der Ihnen den Zugriff auf jedes Fenster ermöglicht, das während der Ausführung der Funktion erstellt wird. Wir versuchen, modales und nicht-modales Verhalten in kommenden Hauptversionen konsistenter zu gestalten, was dies in Zukunft einfacher direkt über die Funktion New Window() machen sollte.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Add Properties to Table(
{New Script("reread", JSL Quote(caption("reread ...")), As String( 1 ))});
add update button = function ({win},
win["Local Data Filter",LineUpBox(1)] <<
append(
b = Button Box( "update",
b << close window();
dt << run script( "reread" );
ShowQueryWindow();
)
));
showFilter = Function({},
With Window Handler(
New Window( "test",
<<TYPE></TYPE>
<P> </P>
<P> </P>Betreff: So verwenden Sie JSL zum Bearbeiten eines modalen Dialogfenstershallo @danschikore , vielen Dank
wunderbar:)
Betreff: So verwenden Sie JSL zum Bearbeiten eines modalen DialogfenstersVersuchen Sie, die Schaltfläche „Aktualisieren“ zum modalen Fenster hinzuzufügen? Wenn ja, glaube ich nicht, dass das modale Fenster ein Berichtsfenster ist (es ist ein modales oder modales Dialogfenster) -> erstellen Sie das modale Fenster anders
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Script("reread", JSL Quote(caption("reread ...")), As String(1));
add update button = Function({ref},
ref["Local Data Filter", Lineup Box(1)] << append(
b = Button Box("update",
b << close window();
dt << run script("reread");
)
);
);
showFilter = Function({},
collector = V List Box(
dt << data filter(local)
);
add update button(collector);
gui = New Window("test", <<TYPE></TYPE>
<P>Ich würde auch vorschlagen, {Default Local} (oder definierte Variablennamen) zu Ihren Funktionen hinzuzufügen, um mögliche Probleme zu vermeiden. Dazu sind jedoch einige zusätzliche Skripts erforderlich.</P>