Your search did not match any results.
DataGrid

Custom Data Source

Documentation

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
Apply
Reset
var DemoApp = angular.module('DemoApp', ['dx']); DemoApp.controller('DemoController', function DemoController($scope, $http, $q) { var orders = new DevExpress.data.CustomStore({ load: function (loadOptions) { var parameters = {}; if (loadOptions.sort) { parameters.orderby = loadOptions.sort[0].selector; if (loadOptions.sort[0].desc) parameters.orderby += " desc"; } parameters.skip = loadOptions.skip || 0; parameters.take = loadOptions.take || 12; var config = { params: parameters }; return $http.get("https://js.devexpress.com/Demos/WidgetsGallery/data/orderItems", config) .then(function (response) { return { data: response.data.items, totalCount: response.data.totalCount }; }, function (response) { return $q.reject("Data Loading Error"); }); } }); $scope.dataGridOptions = { dataSource: { store: orders }, 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" } ] }; });
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" > <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="js/jquery-3.1.0.min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/17.2.3/css/dx.spa.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/17.2.3/css/dx.common.css" /> <link rel="dx-theme" data-theme="generic.light" href="https://cdn3.devexpress.com/jslib/17.2.3/css/dx.light.css" /> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.16/angular.min.js"></script> <script>window.angular || document.write(decodeURIComponent('%3Cscript src="js/angular.min.js"%3E%3C\/script%3E'))</script> <script src="https://cdn3.devexpress.com/jslib/17.2.3/js/dx.all.js"></script> <script src="index.js"></script> <link rel="stylesheet" type="text/css" href="styles.css" /> </head> <body class="dx-viewport"> <div class="demo-container" ng-app="DemoApp" ng-controller="DemoController"> <div id="gridContainer" dx-data-grid="dataGridOptions"></div> </div> </body> </html>