package info; import info.dto.ExampleDTO; import info.renderer.ListaExampleRenderer; import java.math.BigDecimal; import java.sql.Date; import java.util.ArrayList; import java.util.List; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.Sessions; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Events; import org.zkoss.zul.Grid; import org.zkoss.zul.Intbox; import org.zkoss.zul.ListModelList; import org.zkoss.zul.Timer; import org.zkoss.zul.Window; public class ListaExample extends Window { private List listaEsempio = null; private String numeroRecord = "0"; private boolean binding = false; private ListModelList _model; private Timer timer; public ListaExample() { Sessions.getCurrent().setAttribute(ListaExample.class.getCanonicalName(), this); if(Executions.getCurrent().getParameter("record")!=null){ numeroRecord = Executions.getCurrent().getParameter("record"); } binding = Executions.getCurrent().getParameter("bind") != null?true:false; if(!binding){ initListaEsempio(); } } public void onCreate() { } public void ricerca() { if(((Intbox)getFellow("numRec")).getValue()!=null){ numeroRecord = ((Intbox)getFellow("numRec")).getValue().toString(); } initListaEsempio(); refreshGrid(); } protected void refreshGrid() { Grid gridLista = (Grid) getFellow("gridExample"); gridLista.setRowRenderer(new ListaExampleRenderer()); gridLista.setModel(_model = new ListModelList(getListaEsempio())); gridLista.renderAll(); } /** * @return the listaEsempio */ public List getListaEsempio() { if(listaEsempio==null){ listaEsempio = new ArrayList(); } return listaEsempio; } /** * @param listaEsempio the listaEsempio to set */ public void setListaEsempio(List listaEsempio) { this.listaEsempio = listaEsempio; } private void initListaEsempio(){ getListaEsempio().clear(); int totalSize = Integer.parseInt(numeroRecord); int startIndex = 0; // int endIndex = totalSize > 200 ? 200 : totalSize; for(int i = startIndex; i< totalSize; i++){ ExampleDTO dto = new ExampleDTO(); dto.setDataContabile(new Date(System.currentTimeMillis())); dto.setDataValuta(new Date(System.currentTimeMillis())); dto.setDesCausale("CAUSALE: " + i); dto.setDescrizione("DESCRIZIONE: " + i); dto.setNote("NOTE: " + i); dto.setImporto(new BigDecimal(i)); dto.setProgMovimento(i); getListaEsempio().add(dto); } // Events.echoEvent("onEcho", this, endIndex); } public void onEcho(Event evt) { Integer startIndex = (Integer) evt.getData(); System.out.println("onEcho: " + startIndex); int totalSize = Integer.parseInt(numeroRecord); int endIndex = totalSize - startIndex > 200 ? startIndex + 200 : totalSize; for(int i = startIndex; i < endIndex; i++){ ExampleDTO dto = new ExampleDTO(); dto.setDataContabile(new Date(System.currentTimeMillis())); dto.setDataValuta(new Date(System.currentTimeMillis())); dto.setDesCausale("CAUSALE: " + i); dto.setDescrizione("DESCRIZIONE: " + i); dto.setNote("NOTE: " + i); dto.setImporto(new BigDecimal(i)); dto.setProgMovimento(i); _model.add(dto); } if (endIndex != totalSize) { Events.echoEvent("onEcho", this, endIndex); } } public void stampaMovimento(ExampleDTO movimento) { //chiama funzione } public void dettaglioMovimento(ExampleDTO movimento) { //chiama funzione } public void cancellazioneMovimento(ExampleDTO movimento) { //chiama funzione } public void autorizzazioneMovimento(ExampleDTO movimento) { //chiama funzione } public void spedizioneMovimento(ExampleDTO movimento) { //chiama funzione } }