如何在AngularJS中的ng-grid中获得服务器端分页

时间:2014-09-01 11:02:40

标签: angularjs ng-grid page-numbering

我在角度应用程序中有一个ng-grid,数据通过调用web-services从服务器进入网格。服务是 1。(GET) getAllCustomerListCount给出整数,如6202。

2. (GET) getAllCustomerListByRange接受两个参数,如startFrom参数,取整数表示要显示的起始或开始范围,另一个参数noOfRecords取整数表示要显示的no.of记录

截至目前,我首先调用getAllCustomerListCount来获取数据库中的总记录数,然后通过将getAllCustomerListByRange传递为0和startFrom来调用noOfRecords作为第一个服务结果getAllCustomerListCount,即总记录数。它显示网格数据,但是显示每页50个记录并将总记录6202记录加载到网格中太慢。 enter image description here

现在我想提高性能,即使我放置网格的页面大小100.如何通过选择网格中的下一页来调用服务。我的意图是不允许首先将所有6202记录加载到网格中时间,但它应显示总数为6202,并通过单击网格中的下一页必须调用服务,并从那时只从数据库获取50记录数据。 请帮助我如何解决我的问题。还有一件事我可以分享我的控制器。

模型plunker http://plnkr.co/edit/R8hmvzTTthGkDurtMErR?p=preview

控制器中的

$scope.totalServerItems = 0;
    $scope.pagingOptions = {
        pageSizes: [50, 100, 200],
        pageSize: 50,
        currentPage: 1
    };  
    $scope.setPagingData = function(data, page, pageSize){  
        var pagedData = data.slice((page - 1) * pageSize, page * pageSize);
        $scope.myData = pagedData;
        $scope.totalServerItems = data.length;
        if (!$scope.$$phase) {
            $scope.$apply();
        }
    };

0 个答案:

没有答案