交互式数据表选择器<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />有没有办法将以下数据表列表选择部分编写为 jsl 脚本?

截至目前,我已经完成了一个脚本,但一次只能在一个数据表上,是否有一个函数可以调用来制作数据表列表选择器,如我上面附加的图片,并且在选择后,我可以拥有我的当前数据表是否相应更新? 我不太灵活的脚本现在看起来像这样

我想实现这个目标

任何帮助将不胜感激!
回复:交互式数据表选择器有没有人有使用与 PMroz 类似的方法刷新过滤器列选择器的解决方案? 他的答案几乎最接近我想要实现的目标,唯一的区别是我使用过滤器列选择器而不是列列表框,而且我不知何故无法让它相应地更新或刷新
回复:交互式数据表选择器嗨,PMroz,
这对我来说效果很好,我将它集成到我的脚本中,并意识到我错误地使用了一个词,我使用的是过滤器列选择器而不是列列表框,我看到你的方法是设置和更新基于所选数据表的表中的新列集,刷新它的部分是当您调用
列列表框=列表框(列列表) ;
显示新更新的表。 所以我尝试为“过滤器列选择器”复制它。
1)我修改了你的一些代码,以便它不会出现在新窗口中并转到我的原始窗口
2)我将过滤器列选择器修改为“SelectedIndex”变量并在下面调用它,希望它会更新,但显然我做错了。 您是否知道刷新过滤器列选择器的正确方法,就像您对列列表框所做的那样? 我想将您的列列表框工作方法应用到过滤列选择器

这是我的过滤器列选择器的代码
param = 过滤列选择器(数据表(selectedIndex),
全部,
宽度(250),
colname = param << 获取选中();
colStatInfo(colname[1]);
列表 << 无效;
列表<<更新窗口;
列表 << 重播;
),
参数 << 标称( 0 );
//参数<<名称包含(“”);
)
回复:交互式数据表选择器试试这个代码:
// 使用现有表的列表预加载表组合框
默认表=当前数据表() <<得到名字;
表列表= {} ;
不可表=不可表() ;
为了(我= 1 ,我<=不可表,我++,
一个名字=数据表(我) <<获取姓名;
表列表[我] =一个名字;
// 对于默认表,加载列列表框
如果(一个名字==默认表,
默认值=我;
列列表=数据表(我) <<获取列名(作为字符串) ;
) ;
) ;
西北=新窗户( “测试” ,
选择表组合=组合框(表列表,
// 当组合框选择更改时调用此函数
选定索引=选择表组合<<被选中;
列列表=数据表(选定索引) <<获取列名(作为字符串) ;
// columns_listbox << 全部删除;
列列表框<<设置项目(列列表) ; ) ,
列列表框=列表框(列列表) ;
) ;
回复:交互式数据表选择器您好,PMroz,我阅读了演示文稿,现在意识到,如果使用应用程序生成器完成,可以更轻松且更具交互性,但此时(脚本中有一千行),可能需要一些时间来重建它在应用程序生成器中。 有没有办法让它在我选择表并单击按钮框时自动刷新列,而不将所有内容移植到应用程序生成器?
回复:交互式数据表选择器这推介会应用程序生成器应该会有所帮助。除其他事项外,它还展示了在选择特定表时如何使用列名称动态填充列表框。
回复:交互式数据表选择器抱歉,我应该提供更多详细信息,你是对的,我在下面的某个地方有一个列列表框,我想根据我选择的表自动更新显示列

您能否详细说明如何将脚本附加到dtlb? 上面定义,数据表=列表框( dt 名称,最大项目数( 1 ))
回复:交互式数据表选择器我认为答案取决于您如何设计 UI 的其他部分来支持您想要的工作流程。 但我认为你不需要任何递归。
例如,如果您还有一个“ColListBox()”来显示通过上述方法选择的表的列,则可以将脚本附加到“dtlb”(上面定义),以便(当表选择为制作或更改)它会自动更新可用列的列表。 同样,您可以将一个脚本与创建或更新报告窗口的“ColListBox()”联系起来(假设您只需要一列进行分析)。
(在没有看到更多细节的情况下,想要提供更多帮助有点困难)。
回复:交互式数据表选择器感谢伊恩的帮助,如果您不介意的话,我有一个后续问题。 现在我有办法获取所有数据表的列表,为了更新脚本以在新选择的数据表上运行所有操作,建议通过递归调用完全相同的脚本(使用新选择的数据表) ? 或者是否有一个我不知道的功能可以快速刷新脚本并在我选择的新数据表上运行它?
回复:交互式数据表选择器也许是这样的:
名称默认到这里( 1 ) ;
dt 名称= {} ;
为了( t = 1 , t <=表格() , t ++,
插入( dt 名称,数据表( t ) <<获取名称) ;
) ;
西北=
新窗户( “测试” ,
面板盒( “选一张桌子” ,
数据表=列表框( dt 名称,最大项目数( 1 ))
) ,
按钮盒( “好的” ,好的脚本)
) ;
OK脚本=
表达式(
西北<<关闭窗口;
数据名称=数据表<<获取选择;
如果( N项(数据名称) > 0 ,
打印( “选择的表:” ||数据名称[ 1 ])
,
打印( “未选择桌子” )
)
) ;
回复:交互式数据表选择器@pmroz您好,您可以再次分享应用程序构建器的演示链接吗?我有相同的用例,但链接似乎已存档。
回复:交互式数据表选择器给你@Aadit 。这是用 JMP 10 编写的!但应该还是有相关信息的。