在 JSL 中隐藏列组在手动界面中,您可以单击列组,然后单击隐藏/取消隐藏组中的所有列(如果隐藏状态是混合状态,则单击两/三下)。
通过脚本完成同样的事情的简单 JSL 是什么?
我尝试编写这一切对我来说看起来很奇怪。
回复:在 JSL 中隐藏列组这里有一个复杂的情况:我的组中的一些列源自虚拟联接。 所以当我执行<<获取列组(“组名”)在这些特定组中,结果列表如下所示:
group = {:LocalColumnA, Referenced Column("ForeignColumnA", Referenced Column("ForeignColumnB", Reference(Column(:ForeignLinkReferenceColumnA), …}和组<<隐藏(1)操作仅在本地列上成功,在外部(虚拟连接)列上失败。
然而,当我在手动界面中执行此操作时,虚拟连接的列对手动隐藏/取消隐藏菜单选择的响应很好。 啊啊。
回复:在 JSL 中隐藏列组这是一个有效的脚本。当前的限制是它作用于找到的第一组,但这是一个简单的解决方法。
Names Default To Here( 1 );
dt = Current Data Table();
groupNames = dt << get column groups names;
group = dt << get column group( groupnames[1] ) << select;
For( i = 1, i <= N Items( group ), i++,
dt:((dt << get selected columns)[i]) << hide( 1 )
);
另一位社区成员可能有办法将 For() 循环从代码中删除,但我找不到。