Syncfusion Feedback

Trusted by the world’s leading companies

Syncfusion Trusted Companies

JavaScript DataGrid overview

The JavaScript DataGrid, an HTML5 data grid, is a feature-rich control for displaying data in a tabular format. Its wide range of functionalities includes data binding, editing, Excel-like filtering, custom sorting, aggregating rows, selection, and support for Excel, CSV, and PDF formats.


Why choose the Syncfusion® JavaScript DataGrid?

Javascript Grid High Performance image

High performance

A sharp focus on fast-paced performance lets the DataGrid load millions of records in just a second.

Javascript Data Grid Seamless Data Binding image

Seamless data binding

Bind data seamlessly with various local and remote data sources such as JSON, OData, WCF, and RESTful web services with the help of a data manager.

Javascript Grid Resolution image

Adapts to any resolution

The DataGrid has a highly responsive layout and an optimized design for desktops, tablets, and smartphones. It works well on all mobile phones that use iOS, Android, or Windows OS.

Javascript Data Grid Flexible Editing image

Flexible editing

The JavaScript DataGrid performs create, read, update, and delete operations (CRUD) easily with a list of business objects or remote data service with the help of a data manager.

Javascript Grid Template Designs image

Create your own template designs

Users can create custom user experiences in the JavaScript DataGrid using a [wide range of template options].(https://ej2.syncfusion.com/javascript/documentation/grid/columns/column-template).

Javascript Data Grid Customizable Themes image

Attractive, customizable themes

The control has a cutting-edge design with multiple built-in themes: Fluent, Tailwind CSS, Bootstrap, Material, Fabric, and more. Utilize the online Theme Studio tool to customize themes easily.

Javascript Grid Export Print image

Easy export and printing

Export the DataGrid in various file formats, including Excel, PDF, and CSV. Print all the rows, regardless of the number of pages, as well as just the currently viewed page.

Javascript Data Grid Global Local image

Globalization and localization

Users from different locales can use the DataGrid by formatting dates, currency, and numbering to suit preferences.


AI-ready grid for quick trend analysis

Power up your JavaScript applications with a DataGrid that’s ready for AI features. Enable semantic search and anomaly detection to deliver intelligent data insights.

Javascript Data Grid Anomaly Detection image


JavaScript DataGrid code example

Easily get started with the JavaScript DataGrid using a few simple lines of HTML and TS code, as demonstrated below. Also explore this JavaScript DataGrid example, which shows you how to render and configure the control.

<div class="control-section">
    <div class="content-wrapper">
        <div id="Grid">
        </div>
    </div>
</div>
import { loadCultureFiles } from '../common/culture-loader';
import { Grid, Selection } from '@syncfusion/ej2-grids';
import { Query, DataManager } from '@syncfusion/ej2-data';
import { orderData } from './data-source';

Grid.Inject(Selection);

/**
 * Default DataGrid sample
*/

    loadCultureFiles();
    let data: Object = new DataManager(orderData as JSON[]).executeLocal(new Query().take(15));
    let grid: Grid = new Grid(
        {
            dataSource: data,
            columns: [
                { field: 'OrderID', headerText: 'Order ID', width: 120, textAlign: 'Right' },
                { field: 'CustomerName', headerText: 'Customer Name', width: 150 },
                { field: 'OrderDate', headerText: 'Order Date', width: 130, format: 'yMd', textAlign: 'Right' },
                { field: 'Freight', width: 120, format: 'C2', textAlign: 'Right' },
                { field: 'ShippedDate', headerText: 'Shipped Date', width: 140, format: 'yMd', textAlign: 'Right' },
                { field: 'ShipCountry', headerText: 'Ship Country', width: 150 }
            ]
        });
    grid.appendTo('#Grid');

JavaScript DataGrid skeleton loading indicator.

Skeleton loading indicator

The DataGrid shows an effect as a loading indicator while fetching data and binding it to the grid during initial rendering, refreshing, or after performing grid actions like sorting. It offers two types of loading indicator effects: spinner and shimmer.


Adaptive UI layout

The DataGrid user interface was customized and redesigned for great views and usability on small screens. Its features include filter, sort, search, column chooser, column menu, pager dropdown, and edit dialogs that are adaptive to the screen size and render row elements vertically.

Javascript Data Grid Adaptive Ui image


JavaScript DataGrid column.

Columns

Columns define the schema of the data source in the JavaScript DataGrid. They support formatting, auto-generating columns, column definitions, freezing rows and columns, column spanning, text wrapping, column chooser, column menu, and other features.


Paging

Paging is used to view a segment of data from the assigned data source. The JavaScript DataGrid offers a built-in pager UI with options to customize its entire UI. It also has an on-demand paging mode for effective data retrieval from remote web services.

JavaScript DataGrid with pagination.


JavaScript DataGrid sorting.

Sorting

Sort rows either in ascending or descending order in a column by simply clicking the header. Sort multiple columns’ data by holding the Ctrl key and clicking the header. In addition, you can define your own custom sorting logic.


Filtering

Filtering helps view particular or related records that meet a given criteria in a data grid. The JavaScript DataGrid supports various filter types, including powerful, Excel-like filters. Choose the appropriate filter type, define your own custom filtering logic, and customize the filtering UI based on the application’s needs. Diacritic characters can also be filtered.

JavaScript DataGrid filtering.


JavaScript DataGrid selection.

Selection

Select rows or cells either by using checkboxes or by simply clicking them. Select more than one row or cell by holding Ctrl, Shift, or Command while clicking, or do so programmatically.


Editing

The JavaScript DataGrid supports create, read, update, and delete operations (CRUD). In addition to built-in editor components to edit a particular column value, custom editor components can be created using templates. With the help of a data manager, you can perform editing operations with a JavaScript array collection or remote data service.

JavaScript DataGrid editing.


JavaScript DataGrid grouping.

Grouping

Group rows to display the data in an organized, hierarchical structure in ascending or descending order to facilitate easier expansion and collapse of records. There is an option to group records of the desired column by dragging and dropping that column in an interactive drop area.


Aggregation

Aggregates for column values can be easily displayed using the aggregate feature. Aggregates can be customized to show their value in individual summary rows, individual group summary rows, or group caption rows.

JavaScript DataGrid aggregation.


Javascript Data Grid Freeze image

Frozen rows and columns

Frozen rows and columns are visible at the top and on the left, right, both, or fixed position, making the remaining grid content scrollable. This feature is mainly used to compare cell values in the JavaScript DataGrid component.


Pinned rows

Pinned rows keep specific rows fixed at the top of the grid. This enhancement ensures that key records remain visible during operations such as paging, sorting, and filtering, providing continuous accessibility across all data interactions.

JavaScript DataGrid pinned rows


Javascript Grid Sticky Header image

Sticky headers

The JavaScript DataGrid header can be in a fixed position when scrolling the document vertically to visualize the grid content along with the column header information.


Row drag and drop

The JavaScript DataGrid allows users to drag and drop rows to another DataGrid or custom component. Users can also drag and drop rows within the same DataGrid using the drag icon and transfer rows between different groups.

JavaScript DataGrid drag and drop.


JavaScript master detail DataGrid.

Master-detail DataGrid

A JavaScript master-detail DataGrid is a use-case scenario in which a record’s details are viewed in a separate data grid by clicking a particular row.


State management

The state management in the JavaScript DataGrid component allows you to maintain the grid’s state even after a browser refresh or when navigating to a different page within the same browser session. This feature is especially beneficial for retaining the grid’s configuration and data following a page reload.

State management in JavaScript DataGrid.


Live update with JavaScript DataGrid.

Live update

The DataGrid updates live data in its cells at specific time intervals. These updates occur without causing any lag or slowdown, ensuring that the system remains highly responsive and efficient.


Integrate Charts with DataGrid

The DataGrid integrates with the Charts component, transforming the selected grid data into dynamic, interactive visualizations. This combination of tables and charts lets users gain clearer insights at a glance. Users can customize the chart types, axes, and visuals.

Integrated Charts with JavaScript DataGrid.


Additional features

JavaScript DataGrid with row height.

Row height

Row height is a major factor when displaying records in the viewport. It is easily customized and can also be set conditionally.

Copy to clipboard from JavaScript DataGrid.

Copy to clipboard

The clipboard allows users to copy selected row or cell data into it. Use the Ctrl+C and Ctrl+Shift+H key combinations to copy data with and without headers, respectively.

JavaScript DataGrid with context menu.

Context menu

Perform various actions in a JavaScript DataGrid using the pop-up menu that appears when the cell, header, or pager is right-clicked. In addition to built-in default menu items, custom context menu items can be added.

Width and height in JavaScript DataGrid.

Width and height

Set the width and height properties to change the size of the data grid. When the content overflows the grid element, horizontal and vertical scrollbars will appear. To fill the data grid’s parent container, simply set the height and width to 100%.

JavaScript DataGrid with stacked headers.

Stacked headers

Group and visualize column headers in a stacked manner. The number of columns that can be stacked is unlimited. Perform all DataGrid actions even when the columns are stacked.


Accessibility

Keyboard navigation in HTML5 DataGrid.

Keyboard navigation

The JavaScript DataGrid component ensures that every cell is accessible using the keyboard. Major features like sort, select, and edit can be performed using keyboard commands alone; no mouse interaction is required. This helps in creating highly accessible applications using this component.

Accessibility and screen reader support in JavaScript DataGrid.

Screen readers

The JavaScript DataGrid view has complete WAI-ARIA accessibility support. The DataGrid UI includes high-contrast visual elements that help visually impaired people to have the best viewing experience. Also, valid UI descriptions are easily accessible through assistive technologies such as screen readers.

Show right-to-left language using DataGrid in JavaScript.

Right to left (RTL)

Right-to-left rendering allows users to display the text and layout of the JavaScript DataGrid from right to left. This improves the user experience and accessibility for RTL languages.


Mobile-optimized and touch-friendly

The Data Grid component improves usability and provides an optimized and responsive design for desktops, touchscreens, and phones across all operating systems, including iOS, Android, and Windows.

Touch support in HTML5 DataGrid.

Touch support

User-friendly touch gestures and an interactive UI design provide the best user experience. All HTML5 Data Grid features work on touch devices with zero configuration.

Responsive pager UI in JavaScript DataGrid.

Responsive pager

The Data Grid pager acts intelligently and changes its entire UI responsively based on dimensions. Its optimized design provides the best UI interaction on different devices.






Other supported frameworks

The Data Grid is available for the Blazor, React, Angular, and Vue frameworks. Explore its platform-specific options through the following links:

Supported browsers

The HTML5 Data Grid works well with all modern web browsers, including Chrome, Firefox, Edge, Safari, and Opera.

Supported browsers in JavaScript DataGrid.

145+ JAVASCRIPT UI CONTROLS

Frequently Asked Questions

The Syncfusion® JavaScript Data Grid supports the following features:

You can find our JavaScript Grid demo, which demonstrates how to render and configure the Data Grid.

The JavaScript Grid is a basic table implementation, like table, while the Syncfusion JavaScript DataGrid offers advanced features. You can sort, filter, visualize, and edit your complex data. The Syncfusion JavaScript DataGrid is optimized for high performance and scalability in enterprise apps.

No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue, 5 or fewer developers, and 10 or fewer total employees.

A good place to start would be our comprehensive getting started documentation.

The JavaScript DataGrid is an advanced table component designed to display and manage large datasets efficiently. It includes sorting, filtering, pagination, and real-time update features. It has enhanced performance with Excel-like functions, server-side processing, and seamless JavaScript integration.

Our Customers Love Us

Having an excellent set of tools and a great support team, Syncfusion® reduces customers’ development time.
Here are some of their experiences.

See Real Success Stories

Developers around the world trust Syncfusion’s Essential Studio to simplify complex projects and speed up delivery. With a vast library of UI controls, powerful SDKs, and reliable support, Essential Studio helps teams build enterprise-ready applications with confidence.

Read Our Customer Stories


Rated by users across the globe

Transform your applications today by downloading our free evaluation version
Download Free Trial No credit card required.

Awards

Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion® is proud to hold the following industry awards.

Recent activities in JavaScript DataGrid blogs

The JavaScript DataGrid blog posts will guide you in building your first app with JavaScript controls. They provide problem-solving strategies, describe features and functionalities, announce new feature releases, explain best practices, and showcase example scenarios. Explore our latest posts on our blog channels for JavaScript DataGrid updates.

Up arrow icon