2012-04-17 34 views
5

Tôi đang sử dụng JSF2.0 với PrimeFaces3.1 và Spring3.1 cho logic nghiệp vụ. Tôi đang cố gắng sử dụng tải DataTable- Lazy. Nhưng nó cho tôi lỗi sau. Giúp đỡ một cách tử tế.DataTable - Lazy Loading Primefaces hiển thị lỗi

Một Lỗi:

/ 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

Hiển thị cho chúng tôi đậu và đánh dấu của bạn! Ngoại lệ là gây hiểu lầm. Trong hầu hết các trường hợp, nguyên nhân là do không cung cấp một tập hợp cho thuộc tính 'value' của datatable. – djmj

Trả lời

10

Bạn phải ghi đè phương pháp setRowIndex

Ví dụ:

@Override 
public void setRowIndex(int rowIndex) { 

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

Câu trả lời này là phái sinh để Alfaville 's câu trả lời, nhưng nếu bạn tình cờ đã thiết lập một trường có tên pageSize trong hậu duệ LazyDataTable của bạn nó có thể gây ra cùng một vấn đề. Đây là trường hợp của tôi và tôi không thấy vấn đề cho đến khi tôi nhìn thấy Ghi đè của setRowIndex.

Các vấn đề liên quan