Package org.zkoss.zul.ext

## Interface Pageable

- All Known Subinterfaces:
    `PageableModel`, `Paginal`
  All Known Implementing Classes:
    `AbstractListModel`, `AbstractTreeModel`, `DefaultTreeModel`, `DefaultTristateTreeModel`, `GroupsListModel`, `ListModelArray`, `ListModelArrayProxy`, `ListModelList`, `ListModelListProxy`, `ListModelMap`, `ListModelMapProxy`, `ListModelSet`, `ListModelSetProxy`, `MeshElement.InternalPaging`, `Paging`, `Pdfviewer`, `SimpleListModel`

      public interface Pageable

  Represents a component that can be displayed in multiple pages but cannot be controlled by an external paging controller.
  - `Paginated`: a multi-page component whose pagination is controlled by an external page controller (`Paginal`).
  - `Paginal`: the paging controller used to control the pagination of `Paginated`.
  - `Pageable`: a multi-page component that handles pagination by itself.

  Note: a component that can be displayed in multiple pages can be implemented in two ways.

  1) If it can be controlled by an external paging controller (i.e., `Paginal`), it shall hold an reference to one of the paging controllers. And, it doesn't need to implement `Pageable`. Example: grid, listbox and tree.

  2) If it cannot be controlled by external controller, it shall implement the `Pageable` interface.

  Since:
    2.4.1
  Author:
    tomyeh
  See Also:
    `Paginal`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getActivePage()` | Returns the active page (starting from 0).
    `int` | `getPageCount()` | Returns the number of pages.
    `int` | `getPageSize()` | Returns the number of items per page.
    `void` | `setActivePage​(int pg)` | Sets the active page (starting from 0).
    `void` | `setPageSize​(int size)` | Sets the number of items per page.

- - ### Method Detail

    - #### getPageSize

          int getPageSize()

      Returns the number of items per page.

      Default: 20.

    - #### setPageSize

          void setPageSize​(int size)
                    throws WrongValueException

      Sets the number of items per page.
      Throws:
        `WrongValueException`

    - #### getPageCount

          int getPageCount()

      Returns the number of pages. Note: there is at least one page even no item at all.

    - #### getActivePage

          int getActivePage()

      Returns the active page (starting from 0).

    - #### setActivePage

          void setActivePage​(int pg)
                      throws WrongValueException

      Sets the active page (starting from 0).
      Throws:
        `WrongValueException`