2012-04-17 47 views
5

Estoy usando JSF2.0 con PrimeFaces3.1 y Spring3.1 para la lógica de negocios. Estaba intentando utilizar una carga DataTable-Lazy. Pero me está dando el siguiente error. Amablemente ayuda.DataTable - Lazy Loading Primefaces que muestra el error

Un error:

/ by zero 
- Stack Trace 
java.lang.ArithmeticException:/by zero 
at org.primefaces.model.LazyDataModel.setRowIndex(LazyDataModel.java:62) 
at javax.faces.component.UIData.setRowIndex(UIData.java:448) 
at javax.faces.component.UIData.visitColumnsAndRows(UIData.java:1544) 
at javax.faces.component.UIData.visitTree(UIData.java:1212) 

Please help. 
+0

¡Muéstranos tu frijol y tu marca! La excepción es engañosa. En la mayoría de los casos, se produce al no proporcionar una colección para el atributo 'value' de la tabla de datos. – djmj

Respuesta

10

Debe reemplazar el método setRowIndex

Ejemplo:

@Override 
public void setRowIndex(int rowIndex) { 

    if (rowIndex == -1 || getPageSize() == 0) { 
    super.setRowIndex(-1); 
    } else 
    super.setRowIndex(rowIndex % getPageSize()); 
} 
0

Esta respuesta es derivado a Alfaville 's respuesta, pero si le sucede que tiene establecido un campo denominado pageSize en su descendiente LazyDataTable fuere causa el mismo problema Este fue el caso conmigo y no vi el problema hasta que vi el Override de setRowIndex.

Cuestiones relacionadas