rich:datascroller and rich:dataTable
rich:dataTable tag is the RichFaces version for datatable component which has few extra features on look and feel.One of the difficulty JSF developers is creating good pagination for the data dsiplayed using rich:datatable. To resole this problem, RichFaces tags library provides rich:datascroller component which can display the automatic paginations based on data populated using rich:dataTable.
also read:
This tips shows very basic working example using rich:datascroller.for attribute in the rich:datascroller is used for mapping to corresponding rich:dataTable. rows attribute in the dataTable used for displaying the number of rows in each page. There is many attributes in rich:datascroller to manipulate the look and the way it is diplaying data.
richfaces.jsp
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%> <%@ taglib prefix="rich" uri="http://richfaces.org/rich" %> <%@ taglib prefix="a4j" uri="http://richfaces.org/a4j"%> <html> <body> <f:view> <h:form> <rich:datascroller for="sampleData" maxPages="10"/> <rich:dataTable id="sampleData" value="#{richBean.employees}" var="loc" rows="10"> <rich:column> <h:outputText value="#{loc.empId}"/> </rich:column> <rich:column> <h:outputText value="#{loc.empName}"/> </rich:column> <rich:column> <h:outputText value="#{loc.dept}"/> </rich:column> </rich:dataTable> </h:form> </f:view> </body> </html>
JavaBeatRichfacesBean.java
package javabeat.net.richfaces; import java.util.ArrayList; import java.util.List; /** * source : www.javabeat.net */ public class JavaBeatRichfacesBean { private List<employee> employees; public List<employee> getEmployees() { this.employees = new ArrayList<employee>(); Employee employee = null; for (int i = 0;i<50;i++) { employee = new Employee(); employee.setEmpId(String.valueOf(i)); employee.setEmpName("Name : " + i); employee.setDept("JSF"); employees.add(employee); } return employees; } public void setEmployees(List<employee> employees) { this.employees = employees; } }
faces-config.xml
<?xml version='1.0' encoding='UTF-8'?> <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"> <managed-bean> <managed-bean-name>richBean</managed-bean-name> <managed-bean-class>javabeat.net.richfaces.JavaBeatRichfacesBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> </faces-config>