UNPKG

ag-grid

Version:

Advanced Javascript Datagrid. Supports raw Javascript, AngularJS 1.x, AngularJS 2.0 and Web Components

61 lines (54 loc) 2.66 kB
var module = angular.module("example", ["agGrid"]); module.controller("exampleCtrl", function($scope, $http) { var columnDefs = [ // this row shows the row index, doesn't use any data from the row {headerName: "#", width: 50, cellRenderer: function(params) { return params.node.id + 1; } }, {headerName: "Athlete", field: "athlete", width: 150}, {headerName: "Age", field: "age", width: 90}, {headerName: "Country", field: "country", width: 120}, {headerName: "Year", field: "year", width: 90}, {headerName: "Date", field: "date", width: 110}, {headerName: "Sport", field: "sport", width: 110}, {headerName: "Gold", field: "gold", width: 100}, {headerName: "Silver", field: "silver", width: 100}, {headerName: "Bronze", field: "bronze", width: 100}, {headerName: "Total", field: "total", width: 100} ]; $scope.gridOptions = { enableColResize: true, virtualPaging: true, // this is important, if not set, normal paging will be done rowSelection: 'single', rowDeselection: true, columnDefs: columnDefs }; $http.get("../olympicWinners.json") .then(function(result){ var allOfTheData = result.data; var dataSource = { rowCount: null, // behave as infinite scroll pageSize: 100, overflowSize: 100, maxConcurrentRequests: 2, maxPagesInCache: 2, getRows: function (params) { console.log('asking for ' + params.startRow + ' to ' + params.endRow); // At this point in your code, you would call the server, using $http if in AngularJS. // To make the demo look real, wait for 500ms before returning setTimeout( function() { // take a slice of the total rows var rowsThisPage = allOfTheData.slice(params.startRow, params.endRow); // if on or after the last page, work out the last row. var lastRow = -1; if (allOfTheData.length <= params.endRow) { lastRow = allOfTheData.length; } // call the success callback params.successCallback(rowsThisPage, lastRow); }, 500); } }; $scope.gridOptions.api.setDatasource(dataSource); }); });