Reference: http://tsinglongwu.iteye.com/blog/849923
The following code simulates a large amount of data, using the "<paging>" component approach
Front desk Listbox.zul:
<?page title= "listbox using" contenttype= "Text/html;charset=utf-8"?><ZKXmlns:xsi= "Http://www.w3.org/2001/XMLSchema-instance"xmlns= "Http://www.zkoss.org/2005/zul"xsi:schemalocation= "Http://www.zkoss.org/2005/zul Http://www.zkoss.org/2005/zul"><windowID= "Listboxwin"Border= "normal"Apply= "Test. Listboxctrl "> <ListBoxID= "ListBox"> <Listheadsizable= "true" > <ListheaderID= "Namelistheader"label= "Name"Align= "Center"/> </Listhead> </ListBox> <PagingID= "Pagetest"pageSize= "Ten"totalsize= "50000"detailed= "true"/></window></ZK>
View Code
Listboxctrl.java:
Packagetest;Importjava.util.ArrayList;Importjava.util.List;Importorg.zkoss.zk.ui.Component;Importorg.zkoss.zk.ui.event.Event;ImportOrg.zkoss.zk.ui.event.EventListener;ImportOrg.zkoss.zk.ui.util.GenericForwardComposer;ImportOrg.zkoss.zul.Label;Importorg.zkoss.zul.ListModelList;ImportOrg.zkoss.zul.Listbox;ImportOrg.zkoss.zul.Listcell;ImportOrg.zkoss.zul.Listitem;ImportOrg.zkoss.zul.ListitemRenderer;Importorg.zkoss.zul.Paging;Importorg.zkoss.zul.event.PagingEvent; Public classListboxctrlextendsGenericforwardcomposer<component>{ Private Static Final LongSerialversionuid = 1L; PrivateListBox listbox; PrivateListmodellist<string>model; PrivateList<string> testlist =NewArraylist<string>(); PrivatePaging pagetest; Private intCount = 1; @Override Public voidDoaftercompose (Component comp)throwsException {//TODO auto-generated Method Stub Super. Doaftercompose (comp); //populate the first page of data for(inti = 1; I < pagetest.getpagesize () +1; i++) {Testlist.add (i+""); } model=NewListmodellist<string>(testlist); Listbox.setmodel (model); Listbox.setitemrenderer (Newtestitemrenderer ()); //Listening for paging change eventsPagetest.addeventlistener ("Onpaging",NewEventlistener<event>() {@Override Public voidOnEvent (Event event)throwsException {//TODO auto-generated Method StubPagingevent PE =(pagingevent) event; Redraw (Pe.getactivepage ()+1, Pagetest.getpagesize ()); } }); } Public classTestitemrendererImplementsListitemrenderer<string>{@Override Public voidRender (Listitem item, String data,Final intindex)throwsException {//TODO auto-generated Method Stubitem.setvalue (data); Listcell listcell2=NewListcell (); Label Label=NewLabel (data); Listcell2.appendchild (label); Listcell2.setparent (item); } } Private voidRedrawintActivePage,intpageSize) { //Clear All dataListbox.getitems (). Clear (); Testlist.clear (); intTotal = ActivePage *pageSize; for(inti = total-pagesize+1; I <= total; i++) { //When the total number of pages is exceeded if(I >pagetest.gettotalsize ()) { Break; } testlist.add (I+""); } model=NewListmodellist<string>(testlist); Listbox.setmodel (model); } }
View Code
Effect:
ZK ListBox Two types of paging usage and comparison