Paging

A paging component is used to separate long content into multiple pages. For example, assume that you have 100 items and prefer to show 20 items at a time, then you can use the paging components as follows.

<paging totalSize="100" pageSize="20"/>

Then, when a user clicks on the hyperlinks, the onPaging event is sent with an instance of org.zkoss.zul.event.PagingEvent to the paging component. To decide which portion of your 100 items are visible, you shall add a listener to the paging component.

<paging id="paging"/><zscript>List result = new SearchEngine().find("ZK");//assume SearchEngine.find() will return a list of items.paging.setTotalSize(result.size());paging.addEventListener("onPaging", new EventListener() {public void onEvent(Event event) {int pgno = event.getPaginal().getActivePage();int ofs = pgno * event.getPaginal().getPageSize();new Viewer().redraw(result, ofs, ofs + event.getPaginal().getPageSize() - 1);//assume redraw(List result, int b, int e) will display//from the b-th item to the e-th item}});</zscript>                                                                                                    

Paging with List Boxes and Grids

The listbox and grid component support the paging intrinsically, so you don't need to specify a paging component explicitly as above, unless you want to have different visual layout or to control multiple listbox and grid with one paging component.

Refer to the Grids section for more details.