IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

datatable primeface vide


Sujet :

JSF Java

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 70
    Points
    70
    Par défaut datatable primeface vide
    Bonjour,
    le problème du jour :
    pour mon projet je veux implémenter cet exemple de primeface : http://www.primefaces.org/showcase-l...ioCheckbox.jsf
    alors je commence par ma .xhtml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    					<p:dataTable id="multiCars" var="car"
    						value="#{UtilisateurBean.mediumCarsModel}" paginator="true"
    						rows="10" selection="#{AuditBean.selectedPersonnes}">
     
    						<f:facet name="header">  
                Selection des personnes participants  
            </f:facet>
     
    						<p:column selectionMode="multiple" style="width:18px" />
     
    						<p:column headerText="Model">  
                #{car.nom}  
            </p:column>
     
    						<p:column headerText="Nom">  
                #{car.nom}  
            </p:column>
     
    						<p:column headerText="Prenom">  
                #{car.prenom}  
            </p:column>
     
    						<p:column headerText="Statut">  
                #{car.statut}  
            </p:column>
     
     
    					</p:dataTable>
    Le bean concerné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    @SuppressWarnings("serial")
    @Component("UtilisateurBean")
    @Scope("session")
    public class UtilisateurBean implements Serializable {
     
    	@Autowired
    	public transient IUtilisateur resp;
    	@Autowired
    	public transient IRole respRole;
    	private transient HtmlDataTable datatable;
    	public List<Utilisateur> listUtilisateur;
    	private List<CarDataModel> mediumCarsModel;
    	private Utilisateur ut;
    	private int idutilisateur;
    	private String nom;
    	private String prenom;
    	private String statut;
    	private String mail;
    	private String login;
    	private String password;
    	private List<String> selectedOptions;
    	private List<Role> roles;
    	private String typeRole;
    	private int selectedId;
    	private List<SelectItem> ListUtilsa;
    	private String menu;
    	private Utilisateur utiConnecte;
    	private Utilisateur infoUtilis;
     
    	/**
             * Creates a new instance of UtilisateurBean
             */
    	public UtilisateurBean() {
    		utiConnecte = new Utilisateur();
    		FacesContext context = FacesContext.getCurrentInstance();
    		HttpSession session = (HttpSession) context.getExternalContext()
    				.getSession(true);
    		utiConnecte = (Utilisateur) session.getAttribute("user");
    		if (utiConnecte != null) {
     
    		}
    	}
     
    	@PostConstruct
    	public void init() {
     
    		listUtilisateur = this.resp.lister();
    		// datatable.clearInitialState();
     
    		cleanForm();
    	}
    l'équivalent de leur cardatamodel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    public class CarDataModel extends ListDataModel<Utilisateur> implements
    		SelectableDataModel<Utilisateur> {
    	@Autowired
    	public transient IUtilisateur resp;
     
    	public CarDataModel() {
    	}
     
    	public CarDataModel(List<Utilisateur> data) {
    		super(data);
     
    	}
     
    	@Override
    	public Utilisateur getRowData(String rowKey) {
    		// In a real app, a more efficient way like a query by rowKey should be
    		// implemented to deal with huge data
     
    		List<Utilisateur> cars = (List<Utilisateur>) getWrappedData();
     
    		for (Utilisateur car : cars) {
    			String x = car.getIdutilisateur() + "";
    			if (x.equals(rowKey))
    				return car;
    		}
     
    		return null;
    	}
     
    	@Override
    	public Object getRowKey(Utilisateur car) {
    		return car.getIdutilisateur();
    	}
    }
    ça cloche déja au niveau de l xhtml, il reconnais pas car.nom de la classe utilisateur. et je crois c'est la raison pour laquel le datatable est vide.
    Ou est ce que j'ai commis l'erreure pour que ça retourne no records found??

    Déjà ou est ce que je dois remplir mediumCarsModel??

    Grand Mercii

  2. #2
    Membre averti Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Points : 314
    Points
    314
    Par défaut
    Deja <p:dataTable id="multiCars" var="car" value="#{UtilisateurBean.mediumCarsModel}" est de type CarDataModel et dans cette classe je ne vois pas de propriété nom donc je trouve normal qu'il ne le connaisse pas

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 70
    Points
    70
    Par défaut
    Oui mais dans l'exemple ils n'ont pas ajouté des attributs, parcequ'ils font SelectableDataModel<Car> (SelectableDataModel<Utilisateur> chez moi). c'est comme ça que les attributs sont connu non?

  4. #4
    Membre averti Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Points : 314
    Points
    314
    Par défaut
    Quand tu met value="#{UtilisateurBean.mediumCarsModel}" c'est à dire qu'il va itérer sur mediumCarsModel de UtilisateurBean qui est de type CarDataModel or dans cette classe tu n'as opas de proprite nom c'est comme ça que ça marche

Discussions similaires

  1. Filter DataTable primefaces
    Par ahmedpa dans le forum JSF
    Réponses: 3
    Dernier message: 08/04/2014, 10h16
  2. Datatable PrimeFaces 3.2
    Par neo640 dans le forum JSF
    Réponses: 4
    Dernier message: 14/05/2012, 10h49
  3. Taille de mon dataTable toujours vide
    Par DevServlet dans le forum JSF
    Réponses: 1
    Dernier message: 23/07/2009, 10h37
  4. Test si la dataTable est vide
    Par lion13 dans le forum JSF
    Réponses: 3
    Dernier message: 16/04/2008, 11h06
  5. [Vb.net 2005]_Routine Sub donnant DataTable vide ?
    Par Gdal dans le forum Accès aux données
    Réponses: 1
    Dernier message: 07/10/2006, 12h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo