如何使用 Angular UI-Grid 和服务器端分页

How to use Angular UI-Grid with Server Side Paging

我正在使用 AngularJs Ui-Grid.info 来显示动态数据网格,我喜欢它,但现在我必须使用服务器将它连接到具有 60,000 条记录的数据库 table侧过滤和分页,似乎此插件的分页选项仅适用于客户端分页。

有没有人能够使用服务器端分页来解决这个问题。有没有代码示例。

查看代码

<div class="gridContainer">
    <div id="grid1" ui-grid="gridOptions" class="grid" ui-grid-auto-resize ui-grid-pagination></div>
</div>

部分控制器

$scope.gridOptions = {
    enableFiltering: true,
    enableColumnResize: true,
    paginationPageSizes: [25, 50, 75],
    paginationPageSize: 25,
    columnDefs: [
        {
            //field: 'Id', width: 60, displayName: 'Id', enableFiltering: false
            field: 'id', width: 60, displayName: 'Id', enableFiltering: false
        },
        {
            field: 'skill_count',
        },
        {
            field: 'name'
        } 
    ]
};

$scope.loadData = function () {
    skillService.getUnprovisioned(function (data) {
        $scope.gridOptions.data = data;
    });
};

API 中有一个服务器端分页选项可用。

http://ui-grid.info/docs/#!/api/ui.grid.pagination.api:GridOptions -> useExternalPagination

这里有一个服务器端分页和排序的例子:

http://plnkr.co/edit/UttxPkXG8fYQDX85fnyZ?p=preview

在上面的例子中,请参考下面给出的代码块,它执行服务器端分页:

gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) {
    paginationOptions.pageNumber = newPage;
    paginationOptions.pageSize = pageSize;
    getPage();
});

使用 uib-paginationng-repeat 可以轻松构建您自己的网格。 下面link有一个完整的例子。希望这会有所帮助。

Angular WebAPI Pagination