2016-12-15 41 views
0

我使用手動刪除在網格中選中的行後,僅在刷新:Vaadin電網selectionModel設置滾動

for(Object selectedItem: grid.getSelectedRows()) 
    grid.getContainerDataSource().removeItem(selectedItem); 

grid.getSelectionModel().reset(); 

According to the Vaadin documentation需要調用reset()的selectionModel設置,使它們保持同步,這是偉大的。

這一切都很好,但只有當我用鼠標在瀏覽器中向下滾動網格,以便整個網格移動。如果我不在瀏覽器中滾動網格,那麼鼠標將按照之前在該行之前選擇的確切行數選擇錯誤的行。因此,如果我選擇第2行然後刪除它,然後選擇第3行,它實際上會選擇第4行。但是,如果向下滾動以便更新網格視圖,則所有內容都按預期工作,並選擇正確的行。

使用Vaadin 7.7.5。

回答

0

看起來很難get the grid to refresh

grid.clearSortOrder(); 

似乎是當前的解決方法。

+0

不幸的是,它並沒有真正的工作。是的,它確實解決了這個問題,因爲你可以正確地從網格中選擇問題,如果你在列上設置過濾器,那麼它會失敗並導致相同的錯誤。 –