Your search did not match any results.
Data Grid

Custom Data Source


For consuming data from a data source, which is not supported by the DevExtreme data layer out of the box, the DataGrid uses the CustomStore. To load data, the CustomStore needs the load function that you should implement by yourself. Note that this store can be declared explicitly or in the DataSource configuration object.

Copy to CodePen
$(function(){ var orders = new{ load: function (loadOptions) { var deferred = $.Deferred(), args = {}; if (loadOptions.sort) { args.orderby = loadOptions.sort[0].selector; if (loadOptions.sort[0].desc) args.orderby += " desc"; } args.skip = loadOptions.skip; args.take = loadOptions.take; $.ajax({ url: "", dataType: "json", data: args, success: function(result) { deferred.resolve(result.items, { totalCount: result.totalCount }); }, error: function() { deferred.reject("Data Loading Error"); }, timeout: 5000 }); return deferred.promise(); } }); $("#gridContainer").dxDataGrid({ dataSource: { store: orders }, showBorders: true, remoteOperations: { sorting: true, paging: true }, paging: { pageSize: 12 }, pager: { showPageSizeSelector: true, allowedPageSizes: [8, 12, 20] }, columns: [ "OrderNumber", "OrderDate", "StoreCity", "StoreState", "Employee", { dataField: "SaleAmount", format: "currency" } ] }).dxDataGrid("instance"); });
<!DOCTYPE html> <html xmlns=""> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <script src=""></script> <script>window.jQuery || document.write(decodeURIComponent('%3Cscript src="js/jquery.min.js"%3E%3C/script%3E'))</script> <link rel="stylesheet" type="text/css" href="" /> <link rel="dx-theme" data-theme="generic.light" href="" /> <script src=""></script> <script src="index.js"></script> <link rel="stylesheet" type="text/css" href="styles.css" /> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="gridContainer"></div> </div> </body> </html>