Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Grid 7.4.7: replaceComponent on it, scrolls to top when I go back
I'm using replaceComponent to swap one Grid with another, i.e. a bit like a tab sheet or Swing Card Layout.
It works fine. However when swapping back, the original grid has scrolled to the top.
Is this a known issue?
Same thing happens if you put 2 grids inside a tabsheet, clicking on a tab makes the grid scroll to the top, back from where it was.
It indeed looks like the Grid scrolls to the top. And I think that it is an issue with the lazy loading of data. However I can't be entirely sure. The backing widget in the client side is called Escalator, and we do have test that detaching and reattaching does not change the scroll position. It might be that in some case the Grid is handling the Escalator in a wrong way in some cases. We will need to investigate this a bit more.
I opened a bug ticket for this ( https://dev.vaadin.com/ticket/18271 ).
Glad to hear I wasn't doing something wrong.
Still there for 7.5.0
Would be nice if someone fixed this. Its really bad UX.
We're having the exact same problem and made a post some weeks ago (https://vaadin.com/forum#!/thread/14036585). This is a serious issue for us. Any chance that this will be fixed any time soon?
I too agree that this is a major issue for us. We're creating complex business applications based around the grid component and utilising tabsheet, when switching between tabs the scroll position for the grid is reset. Its very annoying and inconsistent from the users' perspective.
Indeed, it's downright wrong, for example, in the grid - why are selected items perserved but the scroll position is not?
Additionally, the Grid API is inconsistent, it gives us the ability to set scroll position but gives us no ability to get the current scroll position or current scroll item.
Please make https://dev.vaadin.com/ticket/18271 a priority.
While this issue is not solved in the framework, the following add-on gives workaround.