組合框 - 如何快速折疊其菜單?嗨,有人知道一旦選擇完成後快速折疊組合框的菜單有什麼方法嗎?我有一個組合框並做一個選擇以獲得選擇然後它繼續到另一個腳本,可能需要另外5秒完全啟動。 但是在這5秒內,組合框菜單仍然打開,在其他腳本完成之前不會崩潰。 在選擇之後,我想讓Combo Box菜單幾乎瞬間崩潰。 我發現改變焦點是這樣做的(例如標題然後刪除標題),但這有點像kludgy。 還有其他想法嗎?謝謝,DJ
Re:組合框 - 如何快速折疊其菜單?我無法重現這個問題。對於下面的代碼,組合框快速折疊(適用於Macintosh的JMP 13)。
不知道發生了什麼事。 您的“slowJSL”可能包含可以利用所有計算資源的代碼(多處理?)。
// Save example of a "slow" jsl file
Save Text File("$SAMPLE_SCRIPTS/slowJSL.jsl", "repeat({char(randominteger(1,1e6))},1e7);
print(fruit)");
New Window("test",
cb1 = Combo Box(
{"<CHOOSE>", "apple", "orange", "banana", "kiwi", "tangerine"},
fruit = cb1 << get text;
Include("$SAMPLE_SCRIPTS/slowJSL.jsl");
)
);
// Delete example jsl by running the line below
// Delete File("$SAMPLE_SCRIPTS/slowJSL.jsl");
</CHOOSE>Re:組合框 - 如何快速折疊其菜單?你在第二個腳本的開頭放了等待(0)嗎?Re:組合框 - 如何快速折疊其菜單?DJ,
你能提供一個示例腳本,可以復制嗎?考慮選項會很有幫助。
最好
烏代
回复:組合框-如何快速折疊其菜單?感謝您的建議。我確實嘗試了wait(0),但無濟於事。這是一個例子:
問題:組合框菜單在選擇後不會快速崩潰,因為它等待以下“ slowJSL.jsl”處理(我希望它當然能夠處理後菜單選擇)。在這種情況下,“ slowJSL.jsl”需要大約5秒鐘才能處理。這裡的關鍵是菜單項選擇只是掛起,同時保持打開狀態。我希望選擇後能盡快關閉它。
new window("test",
cb1=combo box({"<CHOOSE>","apple","orange","banana","kiwi","tangerine"},
fruit=cb1<<GET text=""></GET></CHOOSE>
使固定(儘管我想知道是否有更好的方法):
new window("test",
cb1=combo box({"<CHOOSE>","apple","orange","banana","kiwi","tangerine"},
cb1<<SET></SET></CHOOSE>
回复:組合框-如何快速折疊其菜單?哈哈! 你不知道四年後我也遇到過同樣的問題。我正在使用JMP 12.2.0。所以我最終在這裡找出了一個好的解決方法。
因此,Combobox()憑藉其單一選擇和精巧緊湊的外形為我創造了奇蹟。現在,在這種情況下,我讓它執行一些SQL,而執行該過程當然需要3-5秒。在執行此操作時,其驅動SQL篩選器的選擇菜單在單次選擇後將保持打開狀態3-5秒鐘。大多數情況就是這樣。因此,我做了同樣的修復,它與標題添加/刪除功能配合得很好,它可以快速折疊Combobox()菜單。在這種情況下,執行wait(0)效果不佳。
cmb12=combobox({"thing1","thing2","thing3"},
SQLselect=cmb12<<GET selected=""></GET>
回复:組合框-如何快速折疊其菜單?您可以將標題替換為向用戶顯示狀態消息的框:
win = new window( "test",
cb1 = combo box(
{"<CHOOSE>", "apple", "orange", "banana", "kiwi", "tangerine"},
fruit = cb1 << get text;
tempwin = New Window("Your query is running", Show Menu(0), Show Toolbars(0),
Text Box("Your query is running,\!njust a moment..."));
wait(2);
tempwin << close window;
)
);
</CHOOSE>