我在角度应用程序中有一个 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();
}
};