根據選擇填充/擴展 UI全部,
我發現這篇文章和範例與我的需求非常相關。 https://community.jmp.com/t5/Discussions/Creating-drop-down-menu-for-interactive-user-input/td-p/17982 。 然而,當我嘗試實現/執行此處提供的程式碼片段時,我沒有看到我期望發生的情況。 我認為這是一個錯字,提供的是我編輯過的工作代碼。
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
/* Extract a list of unique ages */
Summarize( a = By( :age ) );
Insert Into( a, "<SELECT age="">", 1 );
/* Create a modal dialog */
New Window( "Example",
<<MODAL>", 1 );
cb2 << Set Items( ageNames );
)
)
)
),
/* Print the selected values from both ComboBoxes in the log */
Panel Box( "Select a Name:",
cb2 = Combo Box(
{"</MODAL></SELECT><SELECT name="">"},
<<SETFUNCTION></SETFUNCTION></SELECT>
查看代碼並通讀它,我希望一旦用戶在第一個組合框中選擇年齡,第二個組合框應該填充該年齡的人的姓名。 但是,我在原始程式碼中沒有看到這種情況發生。 上面的程式碼修復了它。

這是處理這個問題的最佳方法嗎?或者有其他選擇嗎?
回覆:根據選擇填充/擴展 UI@tx尼爾森,
你好吉姆,
即使視窗是模態的,我也可以從其他討論中取得程式碼範例來運作。 問題出在最初的討論中,程式碼沒有對我新增的選擇行進行子集化。 但是,我想知道這是否是最好的方法或是否有更好的解決方案?
回覆:根據選擇填充/擴展 UI“模態”視窗不允許程式碼流工作。如果您將窗口更改為非模式窗口,程式碼將按照您所描述的方式工作,您希望它工作。我已添加到您的腳本中,使其按照您想要的方式工作,而不是模式視窗。
Names Default To Here( 1 );
Clear Symbols();
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
/* Extract a list of unique ages */
Summarize( a = By( :age ) );
Insert Into( a, "<SELECT age="">", 1 );
/* Create a modal dialog */
nw = New Window( "Example",
// <<MODAL>", 1 );
cb2 << Set Items( ageNames );
)
)
)
),
/* Print the selected values from both ComboBoxes in the log */
Panel Box( "Select a Name:",
cb2 = Combo Box(
{"</MODAL></SELECT><SELECT name="">"},
<<SETFUNCTION></SETFUNCTION></SELECT>