JavaScript Grid or 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.
The JavaScript DataGrid has optimized design for high-performance. Loads large volumes of data, nearly 1 million+ records, within one second without any performance degradation with the help of row and column virtualization.
Bind data seamlessly with various local and remote data sources such as JSON, OData, WCF, and RESTful web services,. The data grid uses the data manager to handle data and supports customizing data requests and processing.
JavaScript 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 8 OS.
User-friendly touch gestures and an interactive UI design provide the best user experience. All 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.
The 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 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. Data grid 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 JavaScript DataGrid 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.
Supports row grouping to display data in an organized way. Data can be grouped in the ascending or descending order. Rows can be grouped by dragging and dropping the desired columns in the 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.
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.
Easily export the JavaScript DataGrid control in various file formats such as Excel, PDF, or CSV. The exported document can also be customized programmatically.
Print data either by using the print option from the toolbar or programmatically. Print all the rows of a Data Grid regardless of the number of pages and also print the currently viewed page alone.
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 Data Grid 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%.
Using templates, create custom user experiences in the DataGrid. The DataGrid provides various template options to create custom headers, cell contents, rows, detail rows, toolbars, and editors for edit action.
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 DataGrid actions even when the columns are stacked.
Five built-in SASS-based themes are available such as: Material, Bootstrap, Fabric (Office 365), Tailwind CSS, and High Contrast. Simplify theme customization by overriding the existing SASS styling or creating custom themes by using the Theme Studio application.
The HTML5/JavaScript DataGrid 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.
The HTML5/JavaScript DataGrid enables users from different locales to use it by formatting the date, currency, and numbering to suit locale preferences. Uses the internalization (i18n) library to handle value formatting.
Right-to-left rendering allows displaying the text and layout of the DataGrid from right to left. This improves the user experience and accessibility for RTL languages.
Based on their needs, users can localize all the strings used in the user interface of the JavaScript DataGrid control. Uses the localization (l10n) library to localize UI strings.
DataGrid component is also available in Blazor, React, Angular, and Vue frameworks. Check out the different DataGrid platforms from the links below,
The HTML5/JavaScript DataGrid works well with all modern web browsers such as Chrome, Firefox, Edge, Safari, and IE11. It supports IE11 with the help of polyfills.
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');
We do not sell the JavaScript DataGrid separately. It is only available for purchase as part of the Syncfusion JavaScript suite, which contains over 70 JavaScript components, including the DataGrid. A single developer license for the Syncfusion Essential Studio for JavaScript suite costs $995.00 USD, including one year of support and updates. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team today to see if you qualify for any additional discounts.
You can find our JavaScript DataGrid demo here.
No, our 70+ JavaScript components, including DataGrid, are not sold individually, only as a single package. However, we have competitively priced the product so it only costs a little bit more than what some other vendors charge for their DataGrid alone. We have also found that, in our experience, our customers usually start off using one of our products and then expand to several products quickly, so we felt it was best to offer all 70+ JavaScript components for a flat fee of $995/developer. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team today to see if you qualify for any additional discounts.
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.