数据表关闭问题取决于关闭方式您好,我对 JMP 如何决定关闭具有以下脚本的数据表有疑问:
dt << On Close(close(当前数据表(),nosave));
我的主要问题是当使用此脚本打开多个窗口时数据表如何关闭。 如果使用右上角的 X 它将完美工作 10/10 次,但是如果您转到任务栏并将鼠标悬停在每个表上并点击 X,那么它可以关闭多个数据表(通常是之后打开的数据表)正在关闭的表)如果我们正在积极使用其他表,这可能会导致问题。
当前数据表是否包含在其他数据表中? 我试图找到某种方法来摆脱当前数据表方法,并让它获取数据表的当前名称并尝试以这种方式关闭它,但我遇到了问题。
这是脚本的问题还是 JMP 通过任务栏处理关闭窗口的问题?
谢谢,
自动化和脚本编写回复:数据表关闭问题取决于关闭方式您尝试使用 On Close() 关闭哪些数据表?
回复:数据表关闭问题取决于关闭方式不要使用 CurrentDataTable()。 永远,如果可以避免的话。 正如您所注意到的,当前表格是通过单击表格以及其他一些可能性来设置的。 显然任务栏不算点击表格。
我认为您正在尝试应用“nosave”来忘记任何更改。 (您也可以使用 setDirty(0) 函数。)这里有两种方法。
首先,使用“this”参数,在本例中为 a。 它包含一个窗口,该窗口有一个知道该表的子框。
dt = Open( "$sample_data/big class.jmp" );
dt << onclose(
Function( {a},
Close( (a << child) << getdatatable, nosave );
1;
)
);
其次,通过在表中烘烤:
dt = Open( "$sample_data/big class.jmp" );
Eval(
Eval Expr(
dt << onclose(
Close( Expr( dt ), nosave );
1;
)
)
);
回复:数据表关闭问题取决于关闭方式setdirty 的例子:
dt = Open( "$sample_data/big class.jmp" );
Eval(
Eval Expr(
dt << onclose(
Expr( dt ) << setdirty( 0 );
1;
)
)
);
如果这是你的目标,这可能会稍微正确一些;当 onclose 脚本返回且表已关闭时,JMP 的内部不会感到惊讶。 对于这个,1;返回的信号指示 JMP 继续关闭表。
回复:数据表关闭问题取决于关闭方式从另一个数据源(LIMS、Excel 等)提取信息的数据表。
它提取信息,然后有一些脚本自动生成 IR 图表、对列应用控制限制以及其他一些小便利。
我尝试在脚本设计中使事情尽可能自动化,并且对数据表的人为干扰应该最小化。 我们需要查看的任何内容基本上都会跳到您的脑海中,并表明是否需要采取行动。
由于这些是从 LIMS/Excel 的只读视图中提取的,因此没有理由需要保存任何内容,除非在极少数情况下需要额外的操作。
回复:数据表关闭问题取决于关闭方式到目前为止,这已经完成了工作! 如果我遇到任何出错的情况,我会回来。
谢谢克雷格!
回复:数据表关闭问题取决于关闭方式您是否尝试过其他选项(使用“关闭”) @Craige_Hales建议(不使用<< Set Dirty)。 我认为即使您打开了报告,它们也应该起作用。 其他选项是获取与数据表关联的所有报告的列表并首先关闭这些报告(不确定是否有任何简单的功能)。
回复:数据表关闭问题取决于关闭方式你好,贾莫,
我刚刚尝试了克雷奇提出的其他示例之一,它最终确实起作用了。 我真的需要在将来回复之前查看所有给出的答案。 人们很容易忘记,在 JMP 中有一百万种方法可以做同样的事情,这里的所有反馈都有助于提醒我这一点。
感谢您的帮助。
回复:数据表关闭问题取决于关闭方式你好,Craige,Set Dirty 方法出现了一个小问题。
使用当前数据表方法,它还会关闭任何依赖于打开的数据表(例如控制图)的打开窗口。 强制它关闭所有依赖窗口以便一键关闭整个数据表并且没有其他提示的最佳方法是什么?
编辑:
Eval(
Eval Expr(
dt << onclose(
Close( Expr( dt ), nosave );
1;
)
)
);
这适用于关闭任何依赖的窗口。 我没试过! 谢谢大家的帮助。
回复:数据表关闭问题取决于关闭方式onClose 选项似乎没有与数据表一起保存。
是否可以将onClose设置与数据表一起存储?
如果没有,是否有可能在用户打开数据表时自动执行OnClose消息?
我试着把
dt << on close( Function( {a}, Close( (a << child) << getdatatable, nosave ); 1;));进入我的打开表脚本,但现在每当我打开数据表时,Jmp 都会显示警告:

嗯,正在安排脚本
- 大话“最后告诉 Jmp 什么都不做,甚至不保存数据”;)