JMP 社区您好,
我想根据现有日记本的折叠/展开状态提取项目。 我尝试使用“根 << 已折叠(节点)”方法,但它返回一个空值,与折叠/展开状态无关(请参阅 JSL工作正在进行中以下)。
(JMP 16.1、Windows 10 专业版)
问题:
- “<< is Collapsed”方法是否适用于期刊结构?
- 如果是,它的正确用法是什么,特别是关于“根”和“节点”定义?
- 如果没有,我可以使用什么替代方法来返回日记项目的折叠状态?
Names Default to Here (1);
winlist = Window () << Get Window Title ();
For( i = N Items( winlist ), i > 0, i--,
If( (Window( winlist[i] ) << Window Class Name) != "Journal",
Remove From( winlist, i )
)
);
If (N items (winlist) == 0, New Window ("ERROR", Text Box ("!!!! NO JOURNAL CURRENTLY OPENED !!!!")); throw (1));
dw = New Window (" PICK A JOURNAL ",
<< MODAL,
V List Box (
Text Box (" SELECT A JOURNAL"),
wl = List Box ( winlist,
Width (500),
Max Selected (1),
nlines (10)
),
Text Box (" Enter number of plots per row"),
nbe = Number Edit Box (5),
Text Box (" REMOVE LEGEND? "),
rb = Radio Box( {"YES", "NO"}),
Text Box (" PLOT ONLY EXPANDED? "),
rb2 = Radio Box( {"YES", "NO"}),
Button Box ("OK", jrn_l = (wl << get selected); npr = nbe << get (); lg_x = rb << get (); ex_x = rb2 << get (); switch = 1),
Button Box ("CANCEL", switch = 0; Throw(1))
),
);
show (jrn_l);
show (npr);
show (lg_x);
show (ex_x);
If (switch == 0, Throw (1));
jrn = Get Window (jrn_l [1]);
show (jrn);
nplot = N Items (jrn << Xpath ("//OutlineBox"));
dummy = Lineup Box(N Col (1));
win = New window ("PLOTS",
mybox = Lineup Box (N Col (npr))
);
For (i = 1, i<= nplot, i++,
collp = jrn << is collapsed (OutlineBox (i));
show (collp);
if (collp == 1,
dummy = Lineup Box(N Col (1));
Plot = jrn [PictureBox (i)];
dummy << Append (Plot);
if(lg_x == 1,
zzz = Dummy << Xpath ("//LegendBox");
zzz << delete
);
mybox << Append (Dummy)
)
);
谢谢。
最好的,
TS
JMP 社区,您好! @tx尼尔森,
在查看了适用于 OutlineBox 对象的所有方法之后,我终于找到了我自己的查询的解决方案: << 获取打开对于展开的项目返回 1,对于折叠的项目返回 0。
最好的,
TS
你好@tx尼尔森,
我也在脚本帮助中找到了该示例,但它不会返回日志中项目的折叠状态。 相反,不幸的是,它返回的项目的可见/隐藏状态不相同。
另外,我想知道“获取可见性”在活动报告和期刊中的工作方式是否不同。
感谢您的见解。
最好的,
TS
Is Collapsed()
是使用大纲框来确定它们是打开还是关闭(展开或折叠)的正确方法;在另一个维度上,轮廓框有一个可见性维度,它处理对象的实际显示。Visibility() 元素用于使对象可见、隐藏或折叠。Get Visibility() 函数确定显示对象的可见性状态。
Names Default To Here( 1 );
//This message applies to all display box objects
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
d = dt << Distribution( Column( :height ) );
r = d << report;
tb = r[Table Box( 1 )];
Show( tb << Get Visibility );
Wait( 2 );
tb << Visibility( "Collapse" );
Show( tb << Get Visibility );