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 :

Affichage pagination <p:dataTable>


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 41
    Points : 34
    Points
    34
    Par défaut Affichage pagination <p:dataTable>
    Bonjour,

    J'ai un souci pour afficher mon objet listCarte de type List à toutes les pages de mon composant <p:dataTable> (PrimeFaces).
    Lorsque je valide mon formulaire, mon objet est bien chargé et la 1ère page de ma table s'affiche correctement en signifiant aussi les autres pages.

    Par contre lorsque je clique sur mes boutons de pagination, mon bean se relance mais mon objet ne conserve pas ses valeurs.

    Je ne dois pas écrire correctement mon carteBean pour conserver mes valeurs.

    Voila ma page:
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
              "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <ui:composition xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:ui="http://java.sun.com/jsf/facelets"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:p="http://primefaces.prime.com.tr/ui"
    	template="/WEB-INF/template/viacham.xhtml">
     
     
    	<ui:define name="content">
     
    	 		<h:form prependId="false">
     
                  		<p:growl id="growl" />
     
                  		<p:outputPanel id="panelCpt">
     
    	              		<p:panel header="Consultation Compte: " toggleable="true">
    		              		<h:panelGrid  columns="6" >
     
    		              			<h:outputText value="Nom:" />
    		              			<h:inputText value="#{carteBean.nom}" />
     
    		              			<h:outputText value="Compte:" />
    		              			<h:inputText value="#{carteBean.compte}" ><f:validateLength maximum="7" /></h:inputText>
     
    		              			<h:outputText value="Carte:" />
    		              			<h:inputText value="#{carteBean.carte}"><f:validateLength maximum="8" /></h:inputText>
     
    		              			<h:outputText value="Droit:" />
    		              			<h:selectOneMenu>
    									<f:selectItems value="#{carteBean.droitsCarte}"/>
    								</h:selectOneMenu>
     
    								<h:outputText value="Categorie:" />
    								<h:selectOneMenu>
    									<f:selectItems value="#{carteBean.categoriesCarte}"/>
    								</h:selectOneMenu>
     
    		              			<h:outputText value=" "/>
    		              			<p:commandButton style="align:center;" value="afficher" update="panelCpt,display" actionListener="#{carteBean.afficherCpt}"/>
    		              		</h:panelGrid>
    	              		</p:panel>
     
                  		</p:outputPanel>
     
    			<p:panel id="display" header="Information" style="margin-top:10px;">  						
     
    				<p:dataTable var="cartes" value="#{carteBean.listCarte}"   
            			paginator="true" rows="10" dynamic="true">  
        				 <p:column>  
            					 <f:facet name="header">  
                 					<h:outputText value="Nom" />  
            					 </f:facet>  
             				<h:outputText value="#{cartes.usager.nom}" />  
         				</p:column>  
     
         				<p:column>  
             					<f:facet name="header">  
    								<h:outputText value="Tel" />  
            					 </f:facet>  
            				 <h:outputText value="#{cartes.usager.tel1}" />  
         				</p:column>  
     
         				<p:column>  
             					<f:facet name="header">  
                					 <h:outputText value="Compte" />  
            					 </f:facet>  
            				 <h:outputText value="#{cartes.compte.desCompte}" />  
         				</p:column>  
     
     				</p:dataTable>  
     
    			</p:panel>
     
    		</h:form>	
     
    	</ui:define>
     
    </ui:composition>
    et mon carteBean:

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    package bean;
     
    import java.util.ArrayList;
    import java.util.List;
     
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.ViewScoped;
    import javax.faces.event.ActionEvent;
    import javax.faces.model.SelectItem;
     
    import viacham.bo.Carte;
    import viacham.bo.CategorieCarte;
    import viacham.bo.DroitCarte;
    import viacham.bs.CarteBS;
    import viacham.bs.CompteBS;
     
    @ManagedBean
    @ViewScoped
    public class CarteBean extends SecurityBacking implements java.io.Serializable  {
     
     
    	private String nom;
    	private String compte;
    	private String carte;
     
    	private List<Carte> listCarte;
    	private Carte selectedCarte;
     
     
    	/** Creates a new instance of CarteBean */
        public CarteBean() {
     
     
        }
     
        public List getCategoriesCarte() {
     
        	CarteBS carteBS = new CarteBS();
        	List<SelectItem> list = new ArrayList<SelectItem>();
        	list.add(new SelectItem(0,"tous"));
        	for(CategorieCarte cC: carteBS.getCategoriesCarte()){			
        		list.add(new SelectItem(cC,cC.getDesCat()));	
        	}	
        	return list;
        }
     
        public List getDroitsCarte() {
     
        	CarteBS carteBS = new CarteBS();
        	List<SelectItem> list = new ArrayList<SelectItem>();
        	list.add(new SelectItem(0,"tous"));
        	for(DroitCarte dC: carteBS.getDroitsCarte()){			
        		list.add(new SelectItem(dC,dC.getDesDroit()));	
        	}	
        	return list;
        }
     
     
        public void afficherCpt(ActionEvent actionEvent) {
     
        	listCarte = new CompteBS().listCompteResto(nom, carte, compte);
     
    	}
     
        + getter setter...
    J'ai essayé de charger mon objet directement dans le constructeur de mon bean. La pagination fonctionne mais le problème c'est qu'il ne prend pas en compte mes champs de formulaire (nom,carte,compte) et me charge la totalité de ma table en base à chaque fois.

    Si vous avez une idée...?

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 41
    Points : 34
    Points
    34
    Par défaut
    J'ai trouvé une solution en supprimant l'attribut dynamic de mon <p:dataTable>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/06/2009, 18h40
  2. Affichage paginée d'une liste
    Par tomy29 dans le forum JSF
    Réponses: 2
    Dernier message: 20/08/2008, 16h10
  3. [MySQL] Affichage paginé d'un formulaire
    Par Alex70 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/01/2008, 13h02
  4. [MySQL] Affichage paginé et mis en forme de mots
    Par samspitz dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/11/2007, 17h11
  5. [MySQL] affichage paginé d'une table de bdd mysql
    Par maroco31 informatik dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/05/2007, 16h22

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