有没有办法“读取”或输出数据过滤器源框图表中选择的内容?我想使用该信息来更改数据表数据过滤器。
@马丁,
通过具有选择和套索等工具的图形用户界面进行选择,可能没有逻辑只是用户选择的点。所以上下文过滤器只返回行状态。 下面的脚本是为 JSL Companion 第二版编写的脚本的修改版。 它不使用转换后的变量(以使其更直观),它添加了一个行状态处理程序,以捕获任何更改的结果。
处理程序函数仅将行状态和排除的行打印到日志中。它使用一个简单的 loc() 函数来寻找 6 个被排除的状态。如果颜色和其他状态发生变化,这将需要更多的工作。这是一个简单的案例。 如果您的用途不同,则必须提供详细信息

此屏幕截图显示了过滤器。 左边的一组 XY 图包含在上下文框中,右边的一组标题为未过滤的是相同的 XY 图,但不包含在上下文框中。 获取过滤(排除)行的代码部分如下所示。
在你做出选择之后,如果你运行下面的最后一行注释,你会看到未过滤侧的点突出显示(选中);
//dfsb is the object ref to the data filter source box<BR /><BR />excl = [];
f = function({a}, {sm},
sm = dfsb << get row states;
excl = loc(sm==6);
print(sm,excl);
);
rs = dfsb << Make Row State Handler( f );
//fit_dt << select rows(excl)<<INVERT row="" selection=""></INVERT>
这需要更多工作的地方是 loc() 函数。有关示例,请参阅帮助 > JSL 脚本索引 > 显示框 > 数据过滤器源框设置行状态.
评论 我喜欢使用具有更多选项的本地数据过滤器。