var app = angular.module('myApp', ['angularUtils.directives.dirPagination', 'mgcrea.ngStrap', 'ngTable']); app.factory('dataService', function($http, $q){ return{ getData: function(){ var deferred = $q.defer(); $http({ method: 'GET', url: '/publish' }).success(function(data, status, headers, config) { //console.log(data); deferred.resolve(data); }). error(function(data, status, headers, config) { deferred.reject(status); }); return deferred.promise; } } }); app.controller('QuestionController', function QuestionController($scope, dataService, $location){ var promiseObj=dataService.getData(); promiseObj.then(function(value) { $scope.data=value.reverse(); }); $scope.sort = function(keyname) { $scope.sortKey = keyname; //set the sortKey to the param passed $scope.reverse = !$scope.reverse; //if true make it false and vice versa } $scope.rowLink = function(e) { console.log('rowLink', e); //$location.absUrl("/publishing/view?id=" + e); window.open("/publishing/view?id=" + e, e) } } ) app.controller("dynamicDemoController", dynamicDemoController); dynamicDemoController.$inject = ["NgTableParams", "dataService"]; function dynamicDemoController(NgTableParams, dataService) { var promiseObj=dataService.getData(); console.log('promiseObj', promiseObj); promiseObj.then(function(value) { this.simpleList=value; this.cols = [{ field: "user_id", title: "user_id", sortable: "user_id", show: false, groupable: "user_id" }, { field: "userName", title: "userName", sortable: "userName", show: true, groupable: "userName" }, { field: "statusName", title: "statusName", sortable: "statusName", show: true, groupable: "statusName" }, { field: "lotName", title: "lotName", sortable: "lotName", show: true }, { field: "id", title: "id", sortable: "id", show: true }, { field: "endBidding", title: "endBidding", sortable: "endBidding", show: true }]; this.tableParams = new NgTableParams({ // initial grouping group: { user_id: "desc" } }, { dataset: this.simpleList, groupOptions: { isExpanded: false } }); console.log('this.simpleList', this.simpleList); }); }