GWT 2.4 DataGrid在选择项目时自动滚动

Ümi*_*mit 7 gwt datagrid vertical-scrolling

我在一个项目中使用GWT 2.4的新DataGrid.我将DataGrid配置为50
的页面大小.可用的屏幕不够大,无法显示所有项目,因此显示了一个垂直滚动条(这实际上是首先使用DataGrid的主要目的).
我将SingleSelectionModel附加到DataGrid,以便能够选择项目.
这到目前为止工作正常.

但是,我还有另一个用户可以与之交互的小部件.根据该用户操作,应选择DataGrid中的项目.
有时,所选项目不在可见屏幕区域中,用户必须在DataGrid中向下滚动才能看到它.
有没有办法自动或手动向下滚动,以便所选项目可见?
我检查了DataGrid 的JavaDocs,发现没有适当的方法或功能.

小智 9

不知道这是否有效,但您可以尝试获取选择的行元素并使用scrollIntoView方法.

示例代码:

dataGrid.getRowElement(INDEX_OF_SELECTED_ITEM).scrollIntoView();
Run Code Online (Sandbox Code Playgroud)


小智 6

上面的答案效果很好,但如果网格比你的窗口宽并且有一个水平滚动条,它也会一直向右滚动,这非常烦人.通过获取所选行中的第一个单元格然后将其滚动到视图中,我能够向下滚动并保持向左滚动.

dataGrid.getRowElement(dataGrid.getVisibleItems().indexOf(object)).getCells().getItem(0).scrollIntoView();
Run Code Online (Sandbox Code Playgroud)