JavaScript Grid, also known as the JavaScript DataGrid, 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.
Well thought out efforts, and focuses mainly on fast paced performance to load millions of records in just a second.
Bind data seamlessly with various local and remote data sources such as JSON, OData, WCF, and RESTful web services with the help of data manager.
DataGrid has a highly responsive layout and an optimized design for desktops, touch screens, and smart phones. It works well on all mobile phones that use iOS, Android, or Windows OS.
The JavaScript Grid performs create, read, update, and delete operations (CRUD) easier with list of business objects or remote data service with the help of data manager.
Allows users to create custom user experiences in the JavaScript Grid based on their application need using a wide range of template options.
Cutting edge design with 5+ built-in themes such as Fluent, Tailwind CSS, Bootstrap, Material, Fabric, and more. Utilize the online Theme Studio tool to customize themes easier.
Export the Data Grid in various file formats, including Excel, PDF, and CSV. Print all of the rows, regardless of the number of pages, as well as the currently viewed page.
Enables users from different locales to use them by formatting dates, currency, and numbering to suit preferences.
Easily get started with the JavaScript DataGrid using a few simple lines of HTML and TS code example as demonstrated below. Also explore our JavaScript DataGrid Example that shows you how to render and configure a DataGrid in JavaScript.
<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 Grid 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');
The Data Grid shows the Shimmer 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, filtering, grouping, and more. The Data Grid offers two types of loading indicator effect, spinner and shimmer.
The JavaScript Data Grid user interface is customized and redesigned for great views and usability on small screens. Filter, sort, search, and edit dialogs adaptive to the screen size and also render row elements in a vertical direction.
Columns define the schema of data source in the JavaScript DataGrid. It supports formatting, auto generating columns, column definitions, freezing rows and columns, column spanning, text wrapping, column chooser, column menu, and other features.
Paging is used to view a segment of data from the assigned data source. The JavaScript Data Grid offers 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.
Sort rows either in the ascending or descending order against a column by simply clicking the header. Sort multiple columns’ data by holding Ctrl key + header click. In addition, define your own custom sorting logic based on the application needs.
Filtering helps view particular or related records in the Data Grid, which meet a given criteria. JS Data Grid with rich UI supports various filter types that include powerful Excel-like filter. Choose appropriate filter type, define your own custom filtering logic, and customize the filtering UI based on the application needs. Diacritic characters can also be filtered.
Select rows or cells either by using checkbox or by simply clicking them. Select more than one row or cell by holding Ctrl or Shift or Command, or programmatically.
The Grid in JavaScript supports create, read, update, and delete operations (CRUD). In addition to built-in editor controls to edit a particular column value, custom editor controls can be created according to the application needs using templates. Perform editing operations with JavaScript array collection or remote data service with the help of data manager.
Group rows to display the data in an organized hierarchical structure either in the ascending or descending order to facilitate easier expansion and collapse of records. There is an option to group records of the desired column by simple drag and drop of that column in an interactive drop area.
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 in group caption rows.
Frozen rows and columns are visible at the top and left or right or both the sides of the grid and make the remaining grid content scrollable. It is mainly used to compare cell values in JavaScript DataGrid component.
The JavaScript Data Grid header has to be in a fixed position when scrolling the document vertically to visualize the Data Grid content along with the column header.
The JavaScript Grid allows you to drag and drop rows to another Data Grid or custom component. You can drag and drop rows within the same Data Grid using the drag icon.
JavaScript Master Detail Grid is a use case scenario, in which the detail of a record is viewed in a separate data grid by clicking a particular row.
Row height is a major factor when displaying the number of records in the view port, and it is easily customizable based on the application’s UI requirement. It is also possible to set row height conditionally.
The clipboard provides an option to copy selected rows or cells’ data into the clipboard. Use Ctrl+C and Ctrl+Shift+H key combinations to copy data with and without headers, respectively.
Performs various actions in a JavaScript DataGrid using the popup 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.
Change the size of the Data Grid by setting the width and height properties. Horizontal and vertical scrollbars will appear when the content overflows the DataGrid element. For the DataGrid to fill its parent container, simply set the height and width to 100%.
Stacked headers allow grouping and visualizing column headers in a stacked manner. There is no limit to the number of columns that can be stacked. Perform all JavaScript DataGrid actions even when the columns are stacked.
The JavaScript Grid 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.
The JavaScript DataGrid view has complete WAI-ARIA accessibility support. The Data Grid 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.
Right-to-left rendering allows displaying the text and layout of the JS DataGrid from right to left. This improves the user experience and accessibility for RTL languages.
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.
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.
The Data Grid pager acts intelligently and changes its complete UI responsively based on the dimension. Its optimized design provides the best UI interaction in different devices.
DataGrid component is also available in Blazor, React, Angular, and Vue frameworks. Check out the different DataGrid platforms from the links below,
The HTML5 DataGrid works well with all modern web browsers such as Chrome, Firefox, Microsoft Edge, Safari, and Opera.
The Syncfusion JavaScript DataGrid supports the following features:
You can find our JavaScript DataGrid demo, which demonstrates how to render and configure the DataGrid.
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 and five or fewer developers.
A good place to start would be our comprehensive getting started documentation.
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.