Vaadin Grid fails to load intermediate pages when user scrolls quickly

Steps to Reproduce:

  1. Create a Vaadin Grid with a lazy-loading DataProvider or CallbackDataProvider.
  2. Populate the data provider with enough items to enable vertical scrolling (e.g., several hundred or thousand rows).
  3. Give the Grid a visible height that forces multiple pages to load.
  4. Quickly drag the scrollbar or use a fast mouse wheel scroll from near the top of the grid to the bottom.
  5. Observe the loaded rows.

Actual Result:

  • Only the final chunk corresponding to the new visible range is fetched by the data provider.
  • The rows in the skipped intermediate pages remain blank (or appear as gaps).

Expected Result:

  • Vaadin Grid should gracefully handle fast scrolling by eventually loading any rows visible in the viewport and filling them with data, even if some intermediate requests are canceled or skipped initially.
  • Once the user settles on a scroll position, the corresponding rows should not remain blank.
1 Like

The rows in the skipped intermediate pages remain blank (or appear as gaps).

It’s expected behavior for the grid to load only the data that needs to be rendered to optimize performance. However, if you see blank rows within the viewport, please report this as a bug.