3

关于stackoverflow的第一个问题;-)

与此处类似的问题,只有我试图以编程方式滚动NAT-Table 。我既不能显示选定的项目,也不能为滚动条本身设置值(通过 getHorizo​​ntalBar 或类似方法)。

据我所知,互联网没有答案,为其他 swt 控件建议的解决方案似乎并不适用......

4

1 回答 1

3

这取决于您要达到的目标。您想选择一个单元格并将其移动到视口中,还是只想将单元格移动到视口中而不进行选择?

对于简单地将单元格移动到视口中,您应该尝试相应的命令来实现这一点:

  • ShowRowInViewport 命令
  • ShowColumnInViewport 命令
  • ShowCellInViewport 命令

    natTable.doCommand(new ShowRowInViewportCommand(gridLayer.getBodyLayer(), 50));

要实现选择并将一行移动到视口中,您可以使用相应的选择命令:

  • 选择行命令
  • 选择列命令
  • 选择单元命令

    natTable.doCommand(new SelectRowsCommand(gridLayer.getBodyLayer(), 0, 50, false, false));

请注意,您需要考虑位置/索引转换,这意味着上述语句将选择网格中的第 51 行,因为列标题。

于 2013-11-05T10:45:58.887 回答