The DataGrid is a widget that represents data from a local or remote source in the form of a grid. This widget offers such basic features as sorting, grouping, filtering, as well as more advanced capabilities, like state storing, export to Excel, master-detail interface, and many others.

Included in: dx.web.js, dx.viz-web.js, dx.all.js
Module: ui/data_grid
DataGrid interactive configuration
Copy Code
Copy to Codepen

You can create the widget using one of the following approaches.

  • jQuery
    Use the dxDataGrid jQuery plug-in.

    <div id="gridContainer"></div>
        dataSource: customers,
        columns: ['CompanyName', 'City', 'State', 'Phone', 'Fax']
  • Knockout
    Add a div element and apply the dxDataGrid binding to this element.

    <div data-bind="dxDataGrid: {
        dataSource: customers,
        columns: ['CompanyName', 'City', 'State', 'Phone', 'Fax']
  • AngularJS
    Add a div element and apply the dx-data-grid directive to this element.

    <div dx-data-grid="{
        dataSource: customers,
        columns: ['CompanyName', 'City', 'State', 'Phone', 'Fax']

Note that DevExtreme widgets require you to link the jQuery library to your application. If you use the Knockout or AngularJS approach, the Knockout or AngularJS library is also required. For detailed information on linking these libraries to your project, refer to the Installation article.

To provide data for the DataGrid widget, specify a data source. DataGrid accepts two types of data sources: an array of objects and a DataSource configuration object. To learn more about data binding in DataGrid, refer to the Data Binding guide.

View Demo Watch Video


This section describes the configuration options of the DataGrid widget.


This section describes the methods that can be used to manipulate the DataGrid widget.


This section describes events fired by this widget.


This section describes the properties of a grid row. An object containing these properties comes to certain event-handling functions.