2014-05-03 138 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