组合框 - 如何快速折叠其菜单?嗨,有人知道一旦选择完成后快速折叠组合框的菜单有什么方法吗?我有一个组合框并做一个选择以获得选择然后它继续到另一个脚本,可能需要另外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>