避免GWT数据网格行滚动
在避免GWT数据网格行滚动,gwt,datagrid,scroll,mousewheel,Gwt,Datagrid,Scroll,Mousewheel,在gwtdatagrid中,我希望在某些特殊的应用程序状态下避免/防止表格数据行滚动 我已经尝试捕获ScrollEvent,但我认为这样的事件是在“完成”行滚动之后触发的 我还试图“隐藏”用户可以管理的每一个“工具”,以使行滚动;所以我试着: .setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED); 及 但鼠标滚轮的动作仍然会使火行滚动。。。所以也许应该足够避免鼠标滚轮滚动动作来达到我的目标 请注意,我不想删除水平滚动 如有任
gwtdatagrid
中,我希望在某些特殊的应用程序状态下避免/防止表格数据行滚动
我已经尝试捕获ScrollEvent
,但我认为这样的事件是在“完成”行滚动之后触发的
我还试图“隐藏”用户可以管理的每一个“工具”,以使行滚动;所以我试着:
.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);
及
但鼠标滚轮的动作仍然会使火行滚动。。。所以也许应该足够避免鼠标滚轮滚动动作来达到我的目标
请注意,我不想删除水平滚动
如有任何建议,将不胜感激
提前感谢这里有两个解决方案。随便一个试试
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();
}
});
dataGrid.addCellPreviewHandler(新处理程序(){
@凌驾
公共void onCellPreview(CellPreviewEvent事件){
dataGrid.getRowElement(0.scrollIntoView();
}
});
是!!!好的,你的第一个解决方案。。。这就是我要找的。谢谢。
dataGrid.addCellPreviewHandler(new Handler<Contact>() {
@Override
public void onCellPreview(CellPreviewEvent<Contact> event) {
dataGrid.getRowElement(0).scrollIntoView();
}
});