@vaadin/grid
    TypeScript icon, indicating that this package has built-in type declarations

    22.0.3 • Public • Published

    @vaadin/grid

    A web component for showing tabular data.

    Documentation + Live Demo

    npm version Discord

    <vaadin-grid theme="row-dividers" column-reordering-allowed multi-sort>
      <vaadin-grid-selection-column auto-select frozen></vaadin-grid-selection-column>
      <vaadin-grid-sort-column width="9em" path="firstName"></vaadin-grid-sort-column>
      <vaadin-grid-sort-column width="9em" path="lastName"></vaadin-grid-sort-column>
      <vaadin-grid-column id="address" width="15em" flex-grow="2" header="Address"></vaadin-grid-column>
    </vaadin-grid>
    
    <script>
      // Customize the "Address" column's renderer
      document.querySelector('#address').renderer = (root, grid, model) => {
        root.textContent = `${model.item.address.street}, ${model.item.address.city}`;
      };
    
      // Populate the grid with data
      const grid = document.querySelector('vaadin-grid');
      fetch('https://demo.vaadin.com/demo-data/1.0/people?count=200')
        .then((res) => res.json())
        .then((json) => (grid.items = json.result));
    </script>

    Screenshot of vaadin-grid

    Installation

    Install the component:

    npm i @vaadin/grid

    Once installed, import the components in your application:

    import '@vaadin/grid';
    import '@vaadin/grid/vaadin-grid-column-group.js';
    import '@vaadin/grid/vaadin-grid-filter-column.js';
    import '@vaadin/grid/vaadin-grid-selection-column.js';
    import '@vaadin/grid/vaadin-grid-sort-column.js';
    import '@vaadin/grid/vaadin-grid-tree-column.js';

    Themes

    Vaadin components come with two built-in themes, Lumo and Material. The main entrypoint of the package uses the Lumo theme.

    To use the Material theme, import the components from the theme/material folder:

    import '@vaadin/grid/theme/material/vaadin-grid.js';
    import '@vaadin/grid/theme/material/vaadin-grid-filter-column.js';
    import '@vaadin/grid/theme/material/vaadin-grid-selection-column.js';
    import '@vaadin/grid/theme/material/vaadin-grid-sort-column.js';
    import '@vaadin/grid/theme/material/vaadin-grid-tree-column.js';

    You can also import the Lumo version of the components explicitly:

    import '@vaadin/grid/theme/lumo/vaadin-grid.js';
    import '@vaadin/grid/theme/lumo/vaadin-grid-filter-column.js';
    import '@vaadin/grid/theme/lumo/vaadin-grid-selection-column.js';
    import '@vaadin/grid/theme/lumo/vaadin-grid-sort-column.js';
    import '@vaadin/grid/theme/lumo/vaadin-grid-tree-column.js';

    Finally, you can import the un-themed components from the src folder to get a minimal starting point:

    import '@vaadin/grid/src/vaadin-grid.js';
    import '@vaadin/grid/src/vaadin-grid-column-group.js';
    import '@vaadin/grid/src/vaadin-grid-filter-column.js';
    import '@vaadin/grid/src/vaadin-grid-selection-column.js';
    import '@vaadin/grid/src/vaadin-grid-sort-column.js';
    import '@vaadin/grid/src/vaadin-grid-tree-column.js';

    Contributing

    Read the contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to test your changes to Vaadin components.

    License

    Apache License 2.0

    Vaadin collects usage statistics at development time to improve this product. For details and to opt-out, see https://github.com/vaadin/vaadin-usage-statistics.

    Install

    npm i @vaadin/grid

    DownloadsWeekly Downloads

    2,884

    Version

    22.0.3

    License

    Apache-2.0

    Unpacked Size

    328 kB

    Total Files

    103

    Last publish

    Collaborators

    • vlukashov
    • web-padawan
    • tulioag
    • diegocardoso
    • alvarezguille
    • platosha
    • jouni
    • manolo
    • yuriyyev
    • vaadin-owner
    • tomivirkki
    • peppe
    • haprog
    • pekam
    • artur-
    • sunzhewyq
    • haijian-vaadin
    • joheriks
    • sosa-vaadin