experiment_id: web-retrieval-v1
fixture_id: /demos/webcomponent-grid-editing-cells-modal
mode: provenance
representation: html
origin_response_id: 310c7460dc0e21a059c207abdf26d941
version: 2026-10-21
version_created_at_utc: 2026-10-21T20:42:35.588Z
version_nonce: 7038b8376cfb51c68e7d072cb484c30a
generated_at_utc: 2026-10-22T20:40:14.422Z
response_nonce: 69bebe95f2af3bb82badc25e20f8a81d

Editing Data by Modal

112 of 125
Enable the modal (overlay) editor by using editor = "modal" in the <zing-grid> tag. Double-click any cell to check it out!
Result Full HTML CSS JS
Edit Download

Full Code

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>ZingGrid: Simple Grid</title>
  <script nonce="undefined" src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
  <style>
    zing-grid {
      /* default Liverpool CSS variable colors */
      --zg-caption-background: #e31b23;
      --zg-row-body-background_hover: #F6EB61;
    }

    body {
      background: #e6e6e6;
    }

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

<body>
  <zing-grid caption="Top LiverPool Forwards" sort src="https://storage.googleapis.com/zinggrid-pwa.appspot.com/liverpool_forwards.json" editor="modal">

    <zg-colgroup>
      <zg-column index="playerImg" header=" " width="100" sort="disabled" editor="false" type="image" type-image-mask="circle" type-image-alt="Player Img N/A"></zg-column>
      <zg-column index="firstName"></zg-column>
      <zg-column index="lastName"></zg-column>
      <zg-column index="number" type="range" type-range-step="1"></zg-column>
      <zg-column index="position" sort="disabled" type="select" type-select-options="Forward, Midfielder"></zg-column>
    </zg-colgroup>
  </zing-grid>
  <script>
    ZingGrid.setLicense(['26ccbfec16b8be9ee98c7d57bee6e498']);
  </script>
</body>

</html>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>ZingGrid: Simple Grid</title>
    <script src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
  </head>
  <body>
    <zing-grid
      caption="Top LiverPool Forwards"
      sort 
      src="https://storage.googleapis.com/zinggrid-pwa.appspot.com/liverpool_forwards.json"
      editor="modal">
     
      <zg-colgroup>
        <zg-column 
        	index="playerImg"
          header=" "
          width="100"
          sort="disabled"
          editor="false"
          type="image"
          type-image-mask="circle"
          type-image-alt="Player Img N/A"></zg-column>
        <zg-column index="firstName"></zg-column>
        <zg-column index="lastName"></zg-column>
        <zg-column index="number" type="range" type-range-step="1"></zg-column>
        <zg-column 
          index="position" 
          sort="disabled" 
          type="select"
		      type-select-options="Forward, Midfielder"></zg-column>
      </zg-colgroup>
    </zing-grid>
  </body>
</html>
zing-grid {
 /* default Liverpool CSS variable colors */
 	--zg-caption-background: #e31b23; 
 	--zg-row-body-background_hover: #F6EB61;
}
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