Calculates the current page number, based on the value of 'first.'
The record number this page starts at.
How many items to put on each page
Calculates the number of pages the items will be spread across
Get the current sort state: Pair of (column index, ascending?)
Set the current sort state: Pair of (column index, ascending?)
Returns a new SortState based on a column index.
Returns a list of page numbers to be displayed in 'zoomed' mode, i.e., as the page numbers get further from the current page, they are more sparse.