2014-05-03 105 views
1

GWT DataGrid我想避免/防止表格数据行滚动以防某些特殊的应用程序状态。避免GWT DataGrid行滚动

我已经试过赶上ScrollEvent,但我认为这样的事件是在“行”滚动完成后被解雇的。

我也尝试“隐藏”用户可以管理的每个“工具”以获得行滚动;所以我尝试:

.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED); 

scrollPanel.removeVerticalScrollbar(); 

而且鼠标滚轮操作仍保持火行滚动......因此或许应该足以避免鼠标滚轮滚动操作达到我的目标?

请注意,我不想删除水平滚动。

任何建议,将不胜感激。

在此先感谢

回答

1

以下是两种解决方案。尝试任何一个

DOM.sinkEvents(getDocElement(), Event.ONMOUSEWHEEL); 

Event.addNativePreviewHandler(new Event.NativePreviewHandler() { 

    @Override 
    public void onPreviewNativeEvent(final NativePreviewEvent event) { 
     if (event.getTypeInt() == Event.ONMOUSEWHEEL) { 
      event.getNativeEvent().preventDefault(); 
     } 
    } 
}); 

dataGrid.sinkEvents(Event.ONMOUSEWHEEL); 

不是一个很好的解决方案,但仍然还可以试试这个。

dataGrid.addCellPreviewHandler(new Handler<Contact>() { 

    @Override 
    public void onCellPreview(CellPreviewEvent<Contact> event) { 
     dataGrid.getRowElement(0).scrollIntoView(); 
    } 
}); 
+0

是的!!!好的你的第一个解决方案......这就是我所期待的。非常感谢。 – Barney

+0

这是个好消息。继续... – Braj