JSL 協助在變更組合框時更新面板框大家好,
我正在編寫一些 JSL 程式碼,我希望它能做一些類似支援向量機的平台介面的事情(對於那些有 Pro 的人,對於那些沒有 Pro 的人,螢幕截圖應該有助於進一步解釋)。
我希望包含組合框的面板框能夠根據使用者對組合框的選擇來更新並顯示不同的選項。 對於 SVM 範例,我想做類似的事情:如果使用者選擇第一個組合框選項,則會產生一個更新的面板框,如第一個螢幕截圖所示。 然後,如果使用者選擇下一個選項,面板框將更新以顯示新選項,例如第二個螢幕截圖。


組合框不允許 On Change() 調用,並且當組合框更改時我似乎無法讓函數調用起作用。 我正在考慮進行 UpdateWindow 調用,但很難弄清楚如何正確執行此操作。
任何建議表示讚賞。
謝謝!,
DS
品質和工藝工程分享和交流成果回覆:JSL 幫助在更改組合框時更新面板框你好@ian_jmp ,
感謝您的快速回饋和幫助。 我確實需要對其進行一些修改,以便僅更改面板框的一部分,而不是全部。
這個修改後的版本實現了我希望得到的功能,如果沒有你的程式碼片段,我就無法做到這一點。 謝謝你!
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>
謝謝!,
DS
回覆:JSL 幫助在更改組合框時更新面板框這可能會讓您開始:
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])));