angularjs – 如何在角度ui网格外放置分页?
发布时间:2020-12-17 17:58:19 所属栏目:安全 来源:网络整理
导读:这是我的代码 var app = angular.module('app',['ngTouch','ui.grid','ui.grid.pagination']);app.controller('MainCtrl',['$scope','$http','uiGridConstants',function($scope,$http,uiGridConstants) { var paginationOptions = { pageNumber: 1,pageSize
这是我的代码
var app = angular.module('app',['ngTouch','ui.grid','ui.grid.pagination']); app.controller('MainCtrl',[ '$scope','$http','uiGridConstants',function($scope,$http,uiGridConstants) { var paginationOptions = { pageNumber: 1,pageSize: 25,sort: null }; $scope.gridOptions = { paginationPageSizes: [25,50,75],paginationPageSize: 25,useExternalPagination: true,useExternalSorting: true,columnDefs: [ { name: 'name' },{ name: 'gender',enableSorting: false },{ name: 'company',enableSorting: false } ],onRegisterApi: function(gridApi) { $scope.gridApi = gridApi; $scope.gridApi.core.on.sortChanged($scope,function(grid,sortColumns) { if (sortColumns.length == 0) { paginationOptions.sort = null; } else { paginationOptions.sort = sortColumns[0].sort.direction; } getPage(); }); gridApi.pagination.on.paginationChanged($scope,function (newPage,pageSize) { paginationOptions.pageNumber = newPage; paginationOptions.pageSize = pageSize; getPage(); }); } }; var getPage = function() { var url; switch(paginationOptions.sort) { case uiGridConstants.ASC: url = 'https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/100_ASC.json'; break; case uiGridConstants.DESC: url = 'https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/100_DESC.json'; break; default: url = 'https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/100.json'; break; } $http.get(url) .success(function (data) { $scope.gridOptions.totalItems = 100; var firstRow = (paginationOptions.pageNumber - 1) * paginationOptions.pageSize; $scope.gridOptions.data = data.slice(firstRow,firstRow + paginationOptions.pageSize); }); }; getPage(); } ]); <!doctype html> <html ng-app="app"> <head> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular-touch.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular-animate.js"></script> <script src="http://ui-grid.info/docs/grunt-scripts/csv.js"></script> <script src="http://ui-grid.info/docs/grunt-scripts/pdfmake.js"></script> <script src="http://ui-grid.info/docs/grunt-scripts/vfs_fonts.js"></script> <script src="http://ui-grid.info/release/ui-grid.js"></script> <link rel="stylesheet" href="http://ui-grid.info/release/ui-grid.css" type="text/css"> <link rel="stylesheet" href="main.css" type="text/css"> </head> <body> <div ng-controller="MainCtrl"> <div ui-grid="gridOptions" ui-grid-pagination class="grid"></div> </div> <script src="app.js"></script> </body> </html> 在上面的代码中,分页显示在ui-grid上.但我想在ui-grid之外显示分页,如果数据小于10则禁用分页. 解决方法
要在网格外部使用自定义分页,请在其gridOptions中设置enablePaginationControls:false.
$scope.gridOptions = { data: 'data',totalItems: $scope.data.length,paginationPageSize: 10,enablePaginationControls: false,paginationCurrentPage: 1,columnDefs: [ {name: 'name'},{name: 'car'} ] } 然后,您可以创建自定义分页指令(或使用Bootstrap pagination directive),并将paginationCurrentPage属性绑定到它. 这是一个使用外部Bootstrap分页指令的Plunker with live demo. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 异常 axis2服务的webservice 改造让其被dubbo监控
- docker Failed to get D-Bus connection: Operat
- 基于WebService实现远程调用方式的系统间通信
- 斯卡拉.从案例类获取字段名称列表
- 如何读取Scala中的Excel文件[已关闭]
- Bootstrap打造一个左侧折叠菜单的系统模板(一)
- scala – 使用IntelliJ 13&SBT播放2.2.2不能
- Angular 2 – 无法绑定到’controlGroup’,因为它
- bash – Cygwin启动脚本
- twitter-bootstrap – 在使用Angular.js的Twitte
热点阅读