experiment_id: web-retrieval-v1
fixture_id: /demos/webcomponent-grid-infinite-scroll
mode: provenance
representation: html
origin_response_id: be1da759aa1f59014e7191a0f2a8f5ef
version: 2026-10-21
version_created_at_utc: 2026-10-21T20:42:35.590Z
version_nonce: 7331f35687812dceb576f38aed8bb587
generated_at_utc: 2026-10-25T01:38:59.889Z
response_nonce: 0adff42a68ac86ee811217e09eb63ea2

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