come utilizzare JSL per modificare una finestra di dialogo modaleQual è l'approccio giusto per modificare una finestra di dialogo modale tramite JSL?
l'idea:
- la funzione aggiungi pulsante aggiornamento aggiunge un pulsante al filtro dati
- funziona se viene eseguito DOPO la creazione della finestra
- in the actual use case, the return value of the window is used as input for the subsequent code.
Therefore, <<TYPE><BR /> -> la finestra verrà chiusa prima dell'esecuzione <FONT face="courier new,courier">del pulsante di aggiornamento() //il post</FONT></TYPE>
- I tried to add the <FONT face="courier new,courier">aggiungi il pulsante di aggiornamento()</FONT> via <FONT face="courier new,courier"><< all'apertura (<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>Automazione e scripting</LINGO-LABEL></LINGO-LABS>Ri: come utilizzare JSL per modificare una finestra di dialogo modaleUn approccio a questo scopo in JMP 18 consiste nell'utilizzare un gestore di finestre. Il gestore di finestre è un wrapper di funzioni che consente di accedere a qualsiasi finestra creata durante l'esecuzione della funzione. Stiamo cercando di rendere i comportamenti modali e non modali più coerenti nelle prossime versioni principali, il che dovrebbe rendere più semplice l'esecuzione diretta tramite la funzione New Window() in futuro.
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>Ri: come utilizzare JSL per modificare una finestra di dialogo modaleciao @danschikore , grazie mille
meraviglioso:)
Ri: come utilizzare JSL per modificare una finestra di dialogo modaleStai tentando di aggiungere il pulsante di aggiornamento alla finestra modale? Se lo sei, non penso che la finestra modale sia una finestra di report (è una finestra di dialogo modale o modale) -> crea la finestra modale in modo diverso
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>Suggerirei anche di provare ad aggiungere {Default Local} (o nomi di variabili definiti) alle tue funzioni per evitare possibili problemi, ma richiederà alcuni script aggiuntivi.</P>