我只是在将UI-Grid实施到我的应用程序中。
我一直在关注分页功能的官方UI Grid文档,到目前为止,我无法使其非常有效。
尽管它显示了分页控件,但它并不是"尊重"我在代码中输入的参数,如下所示:
$scope.setGrid = function () {
$scope.gridOptions = {
enablePagination: true,
pageSize: 10,
paginationPageSize: 10,
paginationPageSizes: [25, 50, 75],
enableHorizontalScrollbar: false,
enablePaginationControls: true,
columnDefs: [
{ name: 'name', field: 'name', type:'object', enableCellEdit: false },
{ name: 'lastName', field: 'last_name', type: 'object', enableCellEdit: false },
{ name: 'email', field: 'email', type: 'object', enableCellEdit: false },
{ name: 'creationDate', field: 'created', type: 'object', enableCellEdit: false, cellFilter: 'date:"dd/MM/yyyy HH:mm:ss"'},
{ name: 'userActive', enableCellEdit: false, field: 'active', type: 'boolean'}
],
data: $scope.users
}
}
和HTML视图中:
<div class="row">
<div class="panel-body">
<rd-widget-body classes="medium no-padding">
<div id="grid1" ui-grid-pagination ui-grid="gridOptions" class="grid"></div>
</rd-widget-body>
</div>
</div>
在我的模块块中:
angular.module('RDash', [
'ui.bootstrap',
'ui.router',
'ngCookies',
'ngRoute',
'ngResource',
'doowb.angular-pusher',
'xeditable',
'ui.grid',
'ui.grid.edit',
'ui.grid.pagination',
'ui.grid.resizeColumns',
'ui.grid.selection'
]);
正在发生的问题是,尽管它配置和接受分页,但分页控件被禁用,并且不急于已配置的PageSize和PaginationPagessize。
它正在显示我的数据集中的所有项目(到目前为止的35个项目)和每个页面下拉列表中显示250 | 500 | 1000,这似乎是默认配置。
看来我忘了打电话给某种方法来"启动"整个事情,但我不确定。
我确实找到了许多分页的例子,例如,它们都很简单,但我似乎仍然无法使其起作用。分页虽然显示了控件,但它是完全禁用的,并且没有采用我设置的参数。
我的UI-Grid版本是v4.0.11(2017-11-20),取自ChangElog.md
我找到了问题所在。所有参数都是正确的,问题是在代码实际将数据集绑定到$ scope.gridoptions.data之前,我的代码中的方法$ scope.setgrid()被调用。我更改了运行时,只有在发生实际的绑定并开始工作时才将其称为。