JSL aide à mettre à jour la boîte du panneau lors du changement de la liste déroulanteSalut tout le monde,
Je travaille sur du code JSL où j'aimerais qu'il fasse quelque chose comme l'interface de plate-forme des machines vectorielles de support (pour ceux qui ont Pro, pour ceux qui n'en ont pas, les captures d'écran devraient aider à expliquer davantage).
J'aimerais que la zone de panneau qui contient une zone de liste déroulante soit mise à jour et affiche différentes options en fonction de la sélection de l'utilisateur de la zone de liste déroulante. Avec l'exemple SVM, j'aimerais faire quelque chose de similaire : si l'utilisateur sélectionne la première option de zone de liste déroulante, il en résulte une boîte de panneau mise à jour comme celle montrée dans la première capture d'écran. Ensuite, si l'utilisateur sélectionne l'option suivante, la boîte du panneau est mise à jour pour afficher les nouvelles options, comme la deuxième capture d'écran.


Les zones de liste déroulante ne permettent pas l'appel On Change(), et je n'arrive pas à faire fonctionner un appel de fonction lorsque la zone de liste déroulante est modifiée. Je pense peut-être faire un appel UpdateWindow, mais j'ai du mal à comprendre comment le faire correctement.
Toutes les suggestions appréciées.
Merci!,
DS
ScriptRe : JSL aide à mettre à jour la boîte du panneau lors du changement de la liste déroulanteSalut @ian_jmp ,
Merci pour le retour rapide et l'aide. J'ai eu besoin de le modifier un peu pour qu'il ne change qu'une partie de la boîte du panneau et pas tout.
Cette version modifiée est celle qui fait ce que j'espérais obtenir, et je n'aurais pas pu le faire sans votre extrait de code. Merci!
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>
Merci!,
DS
Re : JSL aide à mettre à jour la boîte du panneau lors du changement de la liste déroulanteCela pourrait vous aider à démarrer :
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])));