experiment_id: web-retrieval-v1
fixture_id: /demos/webcomponent-grid-infinite-scroll
mode: provenance
representation: html
origin_response_id: 1b695ed5a4f4d342ec86e36c177a27d6
version: 2026-10-21
version_created_at_utc: 2026-10-21T20:42:35.590Z
version_nonce: 7331f35687812dceb576f38aed8bb587
generated_at_utc: 2026-11-15T01:34:57.473Z
response_nonce: 71daa3671cd0015d5143b5d92053d0a0

Infinite Scrolling

38 of 125
In ZingGrid, virtual scrolling is called infinite scrolling. This is a flexible performance feature that works well with any remote API or data type; simply define the height attribute in the zing-grid tag.
Result Full HTML CSS JS
Edit Download

Full Code

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>ZingGrid Demo</title>
  <script nonce="undefined" src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
  <style>
    .zg-body {
      background: #e6e6e6;
    }

    zing-grid[loading] {
      height: 493px;
    }
  </style>
</head>

<body class="zg-body">
  <zing-grid caption="Movies" height="400" layout="row" layout-controls="disabled" viewport-stop>
    <zg-data adapter="firebase" src="https://zinggrid-examples.firebaseio.com/movies">
      <!-- loadByScroll enables infinite scrolling -->
      <zg-param name="loadByScroll" value="true"></zg-param>
      <zg-param name="sortBy" value='"director"'></zg-param>
    </zg-data>
  </zing-grid>
  <script>
    ZingGrid.setLicense(['26ccbfec16b8be9ee98c7d57bee6e498']);
  </script>
</body>

</html>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>ZingGrid Demo</title>
    <script src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
  </head>
  <body class="zg-body">
    <zing-grid 
      caption="Movies" 
      height="400"
      layout="row"
      layout-controls="disabled"
      viewport-stop>
       <zg-data adapter="firebase" src="https://zinggrid-examples.firebaseio.com/movies">
          <!-- loadByScroll enables infinite scrolling -->
         	<zg-param name="loadByScroll" value="true"></zg-param>
        	<zg-param name="sortBy" value='"director"'></zg-param>
       </zg-data>
     </zing-grid>
	</body>
</html>
.zg-body {background:#e6e6e6;}
// No JS code

Interested in this demo? Modify it to your needs in ZingSoft Studio, our testing sandbox. It's free to sign up, and you can come back and edit at any time!

Edit in Studio

Demo Gallery