1

我在角度应用程序中有一个 ng-grid,通过调用 web-services.services 从数据库进入网格的数据是 1。(GET) getAllCustomerListCount它给出了 6202 之类的整数。

2.(GET) getAllCustomerListByRange它有两个参数,如startFrom参数采用整数表示开始或开始范围显示,另一个参数noOfRecords采用整数表示要显示的记录数。

截至目前,我正在调用第getAllCustomerListCount一个从数据库中获取总记录数,然后 getAllCustomerListByRange通过传递startFrom为 0 和noOfRecords作为第一个服务结果调用,getAllCustomerListCount即总记录数。它显示网格数据,但速度太慢显示每页 50 条记录,并将总记录 6202 条记录加载到网格中。 在此处输入图像描述

现在我想提高性能,即使我将网格的页面大小设置为 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();
        }
    };
4

0 回答 0