Die Umsetzung SelectableDataModel

XHTML-Seite:

<p:dataTable id="selectProductTable" var="product"  value="#{manageFormsView.productModel}" selection="#{manageFormsView.product}" >

bean-Seite:

  private SelectableDataModel<Product>  productModel=new SelectableDataModel<Product>() {


                @Override  
                public Product getRowData(String rowKey) {  
                    //In a real app, a more efficient way like a query by rowKey should be implemented to deal with huge data  


                    for(Product product : productList) {  
                        if(product.getModel().equals(rowKey))  
                            return product;  
                    }  

                    return null;  
                }  

                @Override  
                public Object getRowKey(Product p) {  
                    return p.getModel();  
                }  
        };

möchte ich nicht erzeugen eine neue Klasse, die implementiert SDM, kann ich nicht tun, inline-implementaton wie oben?

Erhalte ich die exception:

javax.faces.FacesException: DataModel must implement org.primefaces.model.SelectableDataModel when selection is enabled.

InformationsquelleAutor merveotesi | 2012-01-12

Schreibe einen Kommentar