GWT DataGrid项目选择以KeyboardSelectionPolicy为中心

时间:2014-10-14 16:07:15

标签: gwt datagrid

我有一个可调整大小的DataGrid(ResizeLayout)。我的主要问题是当我选择某个列时,它被正确选择但是它放在DataField的中间。意思是我有11个显示的项目(但在网格中有更多项目),我单击(选择)10条目,在显示的DataGrid中居中(6项,然后选中,另外6项。

我正在使用CellPreviewHandler来选择我的对象:

dataGrid.addCellPreviewHandler(new CellPreviewEvent.Handler<GWTUser>() {

    @Override
    public void onCellPreview(CellPreviewEvent<GWTUser> event) {
        if("click".equals(event.getNativeEvent().getType())) {
            dataGrid.setKeyboardSelectedRow(dataGrid.getKeyboardSelectedRow(), true);
            dataGrid.setFocus(false);
            presenter.selectedUser(event.getValue().getId());

        }
    }
});

当我将dataGrid.setKeyboardSelectedRow(dataGrid.getKeyboardSelectedRow(), true);更改为 dataGrid.setKeyboardSelectedRow(dataGrid.getKeyboardSelectedRow(), false);它总是跳到列表的顶部。 我基本上想从我的DataGrid中选择一些东西,任何事情都不应该发生在UI上。

感谢您的帮助。

更新

我想我找到了问题的关键。它是KeyboardSelectionPolicy,但是当我禁用它时,我的数据网格会刷新并上升到列表的顶部。我基本上只想点击我的列从我的对象获取id并且没有重新加载/刷新或焦点或者什么。我能以某种方式定制我的政策吗?

0 个答案:

没有答案