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 :

[PrimeFaces] DataTable : Récupérer le nombre de lignes par page


Sujet :

JSF Java

  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut [PrimeFaces] DataTable : Récupérer le nombre de lignes par page
    Bonjour,

    Dans un dataTable du framework primeFaces, je récupére le n° de la page courante du paginator.
    Je souhaiterais récupérer aussi le nombre de lignes par page, mais ça ne fonctionne pas.
    Mon code me renvoie toujours la valeur précédente, comme ceci :

    Si le nombre de lignes est 10 et que je modifie à 20 : je récupère 10.
    Puis je modifie de 20 à 30 : je récupère 20.
    Puis de 30 à 40 : je récupère 30 etc

    Avez-vous une idée ?
    Merci.

    Mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <p:dataTable id="idRefContributeur" 
           paginator="true"
           paginatorPosition="bottom"
           paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
           rowsPerPageTemplate="5,10,15,20,25,30,40,50"
           rows="10">
     
    <p:ajax event="page" listener="#{contributeurManagerBean.enregistrerLignesPage}" update="idRefContributeur"/>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        public void enregistrerLignesPage (PageEvent event) { 
     
            System.out.println(event.getPage());                  <---- Pour récupérer le n° de la page courante  du paginator : OK
     
            System.out.println(((DataTable)event.getComponent()).getRows());     <---- Je récupère la valeur précédente du nombre de lignes par page !

  2. #2
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    La solution consiste à utiliser remoteCommand comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
                    <p:remoteCommand name="rcEnregistrerLignesPage" async="true" actionListener="#{contributeurManagerBean.enregistrerLignesPage()}"/>
     
                    <p:dataTable ...
                                     paginator="true"
                                     paginatorPosition="bottom"
                                     paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                     rowsPerPageTemplate="5,10,15,20,25,30,40,50,100,200,300"
                                     rows="#{contributeurManagerBean.refUtilisateurFacade.lignesPageTabContributeur}">
     
                                     <p:ajax event="page" oncomplete="rcEnregistrerLignesPage()"/>
    A noter que le remoteCommand doit être placé au niveau form et surtout pas dans le datatable.

    La méthode enregistrerLignesPage() utilise tout simplement la variable refUtilisateurFacade.lignesPageTabContributeur

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

Discussions similaires

  1. viewer : nombre de lignes par page
    Par tobirt dans le forum BIRT
    Réponses: 2
    Dernier message: 30/11/2010, 16h39
  2. Réponses: 1
    Dernier message: 10/12/2009, 21h55
  3. Nombre de ligne par page
    Par FEHDOU dans le forum Rave
    Réponses: 6
    Dernier message: 28/06/2008, 08h30
  4. gestion du nombre de ligne par page
    Par dleveque dans le forum iReport
    Réponses: 1
    Dernier message: 24/08/2007, 18h34
  5. [Conception] gérer le nombre de lignes par page
    Par john.dbc dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/08/2006, 20h20

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