滚动表格框以显示特定行<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />您好 - 我有一个包含几千行的表格框,因此只有前几行在包含它的窗口中直接可见:要查看其余行,我需要使用垂直滚动条滚动表格框。该表框中的某处有一行满足特定标准。一个简单的脚本将告诉我该行号是什么,并且 Set Selected Rows() 属性将为我突出显示它,因此我可以轻松地向下滚动表格到该行来找到它 - 但我更喜欢有表格框自动滚动到右侧点,以便为我显示该行。
有没有办法编写脚本?我看不到“显示属性”命令列出的属性,该命令看起来好像可以执行此类功能。
非常感谢
回复:滚动表格框以显示特定行抱歉,刚刚意识到这是我的无线键盘。当我在电脑键盘上执行此操作时,它会起作用。
回复:滚动表格框以显示特定行您好,我多年来一直使用 F7 来突出显示下一行,但现在不起作用。知道为什么或如何解决这个问题吗?
谢谢,
颂歌
回复:滚动表格框以显示特定行你好。 我最近遇到了同样的问题,并联系了 JMP 支持人员(感谢 Jasean)。 他们的解决方案如下所示,我只是想分享以防其他人遇到这个问题。 基本上:您无法控制 TableBox 中的滚动位置,但可以使用 VScrollBox。 因此,请关闭 TableBox 中的滚动,并将表格框包含在 VScrollBox 中。
Names Default to Here(1);
long_lis = {};
for each({i}, 1::100, InsertInto(long_lis, "Item " || Char(i)));
scb = StringColBox("Long List", long_lis);
tbl = TableBox(scb);
tbl << Set Scrollable(0, 0); //Turning off scrolling in the tbl box
tbl << Set Selectable Rows;
goto_bb = ButtonBox("Go To Item",
toSelect = neb << Get;
ItemCount = NItems(long_lis);
tbl << Set Selected Rows(EvalList({toSelect})); // select desired item
{h_extent, v_extent} = vsb << Get Scroll Extents; // in pixels
// determine portion of list above selected item and scroll to that relative position
portion = toSelect / ItemCount;
if(portion < 0.05, portion = 0);
vsb << Set Scroll Position(0, portion * v_extent); // in pixels
);
winny = NewWindow("test",
goto_bb, neb = Number Edit Box(50),
vsb = VScrollBox(Size(360), tbl) // set the size as number of pixels
);
我同意它不像直接将控件内置到 TableBox 那样干净,但它可以工作。 希望这可以帮助。
-尼克尔斯
回复:滚动表格框以显示特定行我不知道有任何消息可以发送到表格框以使其滚动到特定位置。我已提出这样的请求支持@jmp.com ,但到目前为止我还没有看到任何东西。
我希望有人能证明我错了
回复:滚动表格框以显示特定行嗨比尔,
恐怕不是;这是我需要能够使用 JSL 脚本完成的事情,因为我试图在运行其他一些任务时消除用户执行任何操作的需要。例如,如果我的脚本已经确定用户需要查看的行是第 12345 行,但屏幕上只能看到表格框的前 20 行,那么本质上我需要在这里做的是发送向表框发送一条消息,指出“向下滚动到第 12345 行,以便该行显示在窗口中”。
另一种方法是简单地提取第 12345 行的内容并单独显示它,但我更愿意将显示向下滚动到相关行,因为该位置周围的表中还包含其他信息,这些信息也可能会用户感兴趣。
也许我实际上无法做到这一点,在这种情况下我会找到另一种出路——但我觉得值得先问一下。
非常感谢
回复:滚动表格框以显示特定行嗨,dqr2,
您正在绘制数据图表吗?如果是这样,您可以做的一件事是突出显示图表中感兴趣的数据点或一组点。导航回数据表并按 F7 键。键入 F7 将转到表中所选点列表中第一个数据点所在的行。然后您可以再次按 F7 前往下一个点。按 F6 键可返回到上一个点。
最好的,
账单