表格关闭时可以关闭报告吗?想知道是否有一种方法可以在数据表关闭时自动关闭包含报表的窗口,特别是使用“<< 关闭时”消息? 例如,我从一个数据表创建一个分布并将结果连同一些其他重要信息添加到一个窗口中。 如果用户关闭数据表,我想在窗口上执行一些操作。 下面演示:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
VLB = VlistBox(
Distribution(Column(:Age, :Weight));
);
win = New Window("Results",
TextBox("Other things"),
VLB
);
dt << On Close(
Show("Close script activated"); //this line is executed...
VLB << Delete Box(); //...but not this one or any following it.
Show("Remainder of script is not run...");
);
使用“<< 关闭时”消息似乎是答案,但我还不能让它工作。 当我关闭表 dt 时,将执行关闭脚本的第一行,但不会执行其余部分。 我收到一条消息,指示其他报告窗口已打开,如果我想关闭它们(单击“全部关闭”将关闭整个结果窗口,而不仅仅是分布),最后一条消息要求保存(“否”)。 我怀疑当单击“X”关闭表时,我对 VLB 的引用在 On-Close 脚本可以执行之前被删除。
我意识到我可以创建一份分布报告并将其放在我的窗口中,但它会是静态的,这是我不想要的。
有什么想法吗?
回复:表格关闭时可以关闭报告吗?多谢你们。 不幸的是,我认为我确实需要使用 Names Default to Here(1),因为这个脚本正在其他人中使用,但这个 soln 可能对其他人有用。
通过将我的 VLB 引用设置为全局引用,我能够让它与 NDtH 命令一起使用。 这仍然不理想,但提供了一些可能性。
Names Default to Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
::VLB = VlistBox(
Distribution(Column(:Age, :Weight));
);
win = New Window("Results",
TextBox("Other things"),
::VLB
);
dt << On Close(
Show("Close script activated");
::VLB << Delete Box();
Show("Remainder of script...");
);如果有办法让订阅功能正常工作,我会很乐意的。 当对表进行更改时,我还想在我的窗口上执行其他操作。 再次感谢。
回复:表格关闭时可以关闭报告吗?谢谢奥黛丽!也不错,是的,我把它漏掉了。 vlb 对于脚本编辑器窗口来说是本地的,并且在数据表的窗口运行 onClose 时不可用,这可能是有道理的。 我认为请求是在日志窗口中获取有关表上下文中未定义 vlb 的消息。
回复:表格关闭时可以关闭报告吗?@尼克斯首先,感谢您提供如此出色的脚本来复制问题/问题。 很容易看出你在问什么。
其次,我不得不承认,当我第一次复制您的脚本来尝试时,我没有将第一行 Names Default 复制到 Here(1)。 事实证明,省略该行会使您的脚本按照您希望的方式工作。 如果您不需要该行来限制变量的范围,那可能是一种解决方法。 (注意:使用默认为 here() 的名称当然是最佳实践,但这里会导致某种范围界定问题。)
第三,我发现 Mac 和 Windows 的行为是一致的。 (所以, @Craige_Hales , 你是不是碰巧也省略了 Names Default to Here(1)?)
第四,Craige 建议 dt << subscribe 可能是一种可能性,但我无法让它工作,有或没有 Names Default to Here(1);我继续看到关于其他报告窗口打开的消息,我想关闭它们吗?
最后,我正在跟进我们的开发团队,看看这是否应该解决。
回复:表格关闭时可以关闭报告吗?好的 - 已向技术支持发送消息,希望有解决方法。 我不知道“订阅”功能,所以感谢分享。 不幸的是,这在我的系统上也不起作用,可能是相同的根本原因。 即使在订阅的脚本索引条目中运行“示例 1”也会失败。 我可以想到很多过去的脚本,但使用它会有所帮助。
回复:表格关闭时可以关闭报告吗?@Audrey_Shull
可能必须通过技术支持。 两个操作系统上发生的事情的顺序可能有所不同。
https://www.jmp.com/support/help/14-2/subscribe-to-a-data-table.shtml可能会提供足够不同的 onClose 变体以使其工作;我认为 dt<
我已经使用 report<回复:表格关闭时可以关闭报告吗?
唔。 在装有 JMP Pro 14.3.0 的 Mac (Mojave 10.14.6) 上运行。
回复:表格关闭时可以关闭报告吗?我认为你的脚本是正确的,它在 Windows 14.3 中运行;你运行的是什么版本的 JMP?
The platform left the window平台离开窗口