Tôi đang cố gắng triển khai bảng có tải chậm. Tôi nghĩ rằng tôi đã có tất cả các bước từ trang demo và tài liệu nhưng tôi luôn nhận được thông báo "Không tìm thấy bản ghi". Tôi nghĩ rằng tôi đã giảm mã để minimun ngôn luận, ít nhất phải có một bản ghi:Thủ tướng: Triển khai LazyDataModel
trang Bàn:
<h:form id="listaEmpresas">
<p:dataTable id="tablaEmpresas" value="#{empresasTableMB.lazyDataModel}" var="empresa">
<p:column>
<f:facet name="header">
<h:outputText value="#{msgs.empresa_tabla_nombre}"/>
</f:facet>
<h:outputText value="#{empresa.nombre} "/>
</p:column>
</p:dataTable>
</h:form>
LazyDataModel:
@Override
public List<Empresa> load(int first, int pageSize, String sortField, SortOrder so, Map<String, String> filters) {
List<Empresa> listaEmpresas = new ArrayList();
Empresa e = new Empresa();
e.setNombre("Company");
listaEmpresas.add(e);
this.setRowCount(1);
return listaEmpresas;
}
@Override
public void setRowIndex(int rowIndex) {
if (rowIndex == -1 || getPageSize() == 0) {
super.setRowIndex(-1);
}
else
super.setRowIndex(rowIndex % getPageSize());
}
tôi phải ghi đè lên setRowIndex hoặc tôi nhận được một ngoại lệ "java.lang.ArithmeticException:/by zero". Tôi đang sử dụng các nguyên tố-3.1-SNAPSHOT, jsf 2.0.3 và tomcat 6.0. Hãy giúp tôi. Những gì tôi đang thiếu?
Tại sao bạn sử dụng phiên bản PF cũ và chụp nhanh? Hãy thử phiên bản ổn định mới nhất. http://primefaces.org/downloads.html –