无法捕获应用程序生成器中的列表框选择大家好,
我是 jmp 新手,我正在尝试使用应用程序生成器。 我有一个带有列表框和两个值“ER”和“IL”的启动模块。 一旦用户按下按钮,我希望能够捕获他们选择的选项(如果有)。
由于某种原因,当我将“AnalysisSelected”打印到文本框中时,显示的文本是“List”。 如果我选择仅将“AnalysisSelected[1]”打印到文本框,它会起作用,但我希望能够循环遍历所选分析,并在将变量传递给 GraphBuilder 后采取适当的操作...
提前致谢!!

回复:无法在应用程序生成器中捕获列表框选择你很接近了。一些注意事项:
- list(AnalysisSelected) 不执行任何操作,只是创建 {AnalysisSelected}。
- 为列表框选择返回一个列表
- 如果您尝试将数字放入文本框中,则需要使用 char() 将其转换为字符。
试试这个代码:
analysis_list = analysistypes << get selected;
var = nitems(analysis_list);
if (var > 0,
analysisselected = analysis_list[1]; // Assumes you're restricting # choices to 1
,
error text << set text(char(var));
);
回复:无法在应用程序生成器中捕获列表框选择列表框是任何类型的显示框的容器,可以垂直或水平顺序显示它们。AnalysisTypes 是单选框吗?
据我所知,JSL 不使用面向对象语言的“this”/“self”/“me”约定,因此脚本的该部分没有执行任何操作。
如果 AnalysisTypes 是单选框,Error Text 是文本框,则您的函数应如下所示:
RunAnalysis = function({},
AnalysisSelected = AnalysisTypes << Get Selected;
//show(AnalysisSelected);
Error Text << Set Text(AnalysisSelected);
);
“show(AnalysisSelected)”行已被注释掉,但您可以取消注释该行并查看日志中该变量的值。这是一个非常方便的调试函数。
我使用此脚本在 App Builder 中附加了一个工作示例。
您说您是 JMP 的新手,我建议您在直接进入 App Builder 之前花时间学习 JSL 的基础知识。对于新用户来说,需要尝试的东西有很多。Wendy Murphrey 和 Rosemary Lucas 编写的 Jump Into JMP Scripting 是一本很棒的书,如果您打算经常使用 JSL,我强烈建议您购买这本书。几年前我写了一篇关于 Application Builder 的温和介绍,您可能也会觉得有帮助: https://community.jmp.com/t5/Discussions/Gentle-Introduction-to-Application-Builder/mp/49629#M28232