The pagination plugin for UI-Grid provides the ability to display the data in pages that can be browsed using the built in pagination selector.
You can install
npm i --save @ui-grid/pagination
Once you install you need to load the respective JS and CSS files as seen bellow:
Alternatively, if you are using Webpack or RequireJS to load your dependencies, you can do the following at the top of the file that needs it:
Once you load the file, you need to include 'ui.grid.pagination' module in your angularJS app's dependencies, and add the ui-grid-pagination directive to your grid element.
For external pagination, implement the gridApi.pagination.on.paginationChanged callback function. The callback may contain code to update any pagination state variables your application may utilize, e.g. variables containing the pageNumber and pageSize. The REST call used to fetch the data from the server should be called from within this callback. The URL of the call should contain query parameters that will allow the server-side code to have sufficient information to be able to retrieve the specific subset of data that the client requires from the entire set.
It should also update the $ctrl.gridOptions.totalItems variable with the total count of rows that exist (but were not all fetched in the REST call mentioned above since they exist in other pages of data).
This will allow ui-grid to calculate the correct number of pages on the client-side.
You can find an example of this plugin in action on our website
We also have an example of it using external pagination here.
Documentation for this plugin is provided in the api documentation, but we recommend that you pay special attention to the following: