Récupération dans une datatable

Fermé
tifawa Messages postés 1 Date d'inscription lundi 11 juin 2012 Statut Membre Dernière intervention 11 juin 2012 - 11 juin 2012 à 12:05
bonjour je suis débutante en jsf ,mon problème c'est que je veux récupérer les données de la base dans un datatable,mais il m'affiche un erreur.

voici mon code.

code XHTML:

<p:dataTable id="sos" var="societe"
					value="#{societeBean.toutes_les_sos}" paginator="true"  rows="10"
					selection="#{societeBean.idSos}" rowKey="#{societeBean.raisonSociale}">
					<p:column selectionMode="multiple" style="width:18px" />
					<p:column headerText="Société">  
              
        </p:column>
				</p:dataTable>


classe Bean:

public class SocieteBean implements SelectableDataModel<Societe>{
	private Long idSos;
    private List<Societe> toutes_les_sos;
	private Societe selectedSociete;
	
	
	

	private String raisonSociale;
	
	public String getRaisonSociale() {
		return raisonSociale;
	}

	public void setRaisonSociale(String raisonSociale) {
		this.raisonSociale = raisonSociale;
	}

	public Societe getSelectedSociete() {
		return selectedSociete;
	}

	public void setSelectedSociete(Societe selectedSociete) {
		this.selectedSociete = selectedSociete;
	}



	public Long getIdSos() {
		return idSos;
	}

	public void setIdSos(Long idSos) {
		this.idSos = idSos;
	}


public List<Societe> getToutes_les_sos() {
return toutes_les_sos;
}

public void setToutes_les_sos(List<Societe> toutes_les_sos) {
this.toutes_les_sos = toutes_les_sos;
}

@PostConstruct
public void init(){

toutes_les_sos= new DaoSociete().findAll();



}

@Override
public Societe getRowData(String rowKey) {

List<Societe> toutes_les_sos=( List<Societe>) getWrappedData();

for (Societe societe:toutes_les_sos){

if(societe.getRaisonSociale().equals(rowKey))

return societe; }

return null;
}

private List<Societe> getWrappedData() {

return null;
}

@Override
public Object getRowKey(Societe societe) {

return societe.getRaisonSociale();
}
}

classe Dao:

public List<Societe> findAll(){
		Query query = em.createQuery("select c from Societe c");
		return (List<Societe>) query.getResultList();
	}
	
	public Societe findByDescription(String description){

		try {
			Query query = em.createQuery("select c from Societe c where c.raisonSociale=:desc");
			query.setParameter("desc", description);
			return (Societe)query.getSingleResult();
		}catch(Exception e){
			e.printStackTrace();
			return null;
		}
	}

erreur:

<code>
DataModel must implement org.primefaces.model.SelectableDataModel when selection is enabled.


</code>

aidez moi svp!!!