Me gustaría recibir sus comentarios y sugerencias sobre esto. Estoy haciendo la paginación de una página en jsf. La tabla de datos está vinculada a una propiedad Backing Bean a través del atributo "binding". Tengo 2 variables booleanas para determinar si se renderizan los botones 'Anterior' y 'Siguiente', que se muestran debajo de la tabla de datos. Cuando se hace clic en el botón "Anterior" o "Siguiente", en el bean de respaldo obtengo la propiedad de tabla de datos enlazada y obtengo el atributo "primera" y "filas" de la tabla de datos y cambio en consecuencia. Muestro 5 filas en la página. Comente y sugiera si hay alguna manera mejor. Por cierto, no estoy interesado en ninguna biblioteca JSF Component, sino solo en el kit de renderizado html core.paginación en jsf
public String goNext()
{
UIData htdbl = getBrowseResultsHTMLDataTable1();
setShowPrev(true);
//set Rows "0" or "5"
if(getDisplayResults().size() - (htdbl.getFirst() +5)>5)
{
htdbl.setRows(5);//display 5 rows
}else if (getDisplayResults().size() - (htdbl.getFirst() +5)<=5) {
htdbl.setRows(0);//display all rows (which are less than 5)
setShowNext(false);
}
//set First
htdbl.setFirst(htdbl.getFirst()+5);
return "success";
}
public String goPrev()
{
setShowNext(true);
UIData htdbl = getBrowseResultsHTMLDataTable1();
//set First
htdbl.setFirst(htdbl.getFirst()-5);
if(htdbl.getFirst()==0)
{
setShowPrev(false);
}
//set Rows - always display 5
htdbl.setRows(5);//display 5 rows
return "success";
}