JSL aiuta ad aggiornare la casella del pannello al cambio della casella combinataCiao a tutti,
Sto lavorando su un codice JSL in cui mi piacerebbe che facesse qualcosa come l'interfaccia della piattaforma delle macchine vettoriali di supporto (per quelli con Pro, per quelli senza, le schermate dovrebbero aiutare a spiegare ulteriormente).
Vorrei che la casella del pannello che contiene una casella combinata si aggiorni e mostri diverse opzioni in base alla selezione dell'utente della casella combinata. Con l'esempio SVM, vorrei fare qualcosa di simile: se l'utente seleziona la prima opzione della casella combinata, si ottiene una casella del pannello aggiornata come quella mostrata nella prima schermata. Quindi, se l'utente seleziona l'opzione successiva, la casella del pannello viene aggiornata per mostrare le nuove opzioni, come il secondo screenshot.


Le caselle combinate non consentono la chiamata On Change() e non riesco a far funzionare una chiamata di funzione quando la casella combinata viene modificata. Sto pensando di fare una chiamata UpdateWindow, ma ho difficoltà a capire come farlo correttamente.
Qualsiasi suggerimento apprezzato.
Grazie!,
ds
SceneggiaturaRe: JSL aiuta ad aggiornare la casella del pannello al cambio della casella combinataCiao @ian_jmp ,
Grazie per il rapido feedback e l'aiuto. Avevo bisogno di modificarlo un po' in modo che cambiasse solo una parte della scatola del pannello e non tutto.
Questa versione modificata è quella che fa quello che speravo di ottenere e non avrei potuto farlo senza il tuo frammento di codice. Grazie!
Names Default To Here( 1 );
UInames = {"Option One", "Option Two"};
lublist = {Lineup Box( N Col( 3 ), Spacing( 3, 3 ), Text Box( "A" ), Text Box( "B" ), Number Edit Box( 7, 6 ) ),
Lineup Box( N Col( 3 ), Spacing( 3, 3 ), Text Box( "C" ), Text Box( "D" ), Number Edit Box( 10, 6 ) )};
cb = Combo Box(
UInames,
<<SETFUNCTION></SETFUNCTION>
Grazie!,
ds
Re: JSL aiuta ad aggiornare la casella del pannello al cambio della casella combinataQuesto potrebbe farti iniziare:
NamesDefaultToHere(1);
UInames = {"UI One", "UI Two"};
UIList = {PanelBox(UInames[1], TextBox("One")), PanelBox(UInames[2], TextBox("Two"))};
cb = ComboBox(UInames, << SetFunction(
Function( {this, index},
(this << sib) << delete;
this << sibAppend(Eval(UIlist[index]))
)
)
);
NewWindow("Dynamic UI", LineUpBox(NCol(1), cb, Eval(UIlist[1])));