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 :

JSF scoller probleme de rafraichissement


Sujet :

JSF Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut JSF scoller probleme de rafraichissement
    Bonjour,
    J'ai un petit soucis avec le datascroller, je n'arrive pas a le mette a jour quand je change mon filtre. Imaginons mon prmier filtre me donne 272page si je vais sur la 9 et je change les paramettre de mon filtre la pageIndexVar ne pointe sur la premiere page.
    Merci d'avance si vous avez une piste ou solution pour moi.

  2. #2
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Par défaut
    Salut,

    Peut-tu bien expliquer ton pb ?

    Si c'est un problème de rafraichissement, pense au reRender, pour rafraichir ta vue.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut
    Oui j'ai essayé le rendered en introduisant l'Id de mon scroller, mais sans succé. Je vous explique mon pblm, j'ai un tableau qui se met a jour grace a des filtre. Donc dés que je change les paramettre de mon filtre le tableau se met a jours mais le scoller rest figer a la même page "d'avans filtre" je chrche a le faire poiter la premiere page du nouveau resultat.

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Par défaut
    Pour le rafraichissement je t'invite à lire cela :
    http://www.developpez.net/forums/d60...leme-scroller/

    Si tu veux que ton paginator pointe sur la première page de ta table, tu peux toujours le scroller avec un binding et faire quelque chose comme objetScroller.gotoFirstPage() ou un truc comme ça (car j'ai jamais utilisé se composant)

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par stahiri Voir le message
    Oui j'ai essayé le rendered en introduisant l'Id de mon scroller, mais sans succé. Je vous explique mon pblm, j'ai un tableau qui se met a jour grace a des filtre. Donc dés que je change les paramettre de mon filtre le tableau se met a jours mais le scoller rest figer a la même page "d'avans filtre" je chrche a le faire poiter la premiere page du nouveau resultat.
    mets ton scroller dans un a4j:outputPanel et fait le reRender sur l'id du outputPanel,
    ça doit fonctionner sans problème..

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut
    J'ai fait comme t'a dis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <a4j:outputPanel ajaxRendered="true" id="scroller">
        <rich:datascroller 
            binding="#{clientsDataScrollerHolder.datascroller}"
            styleClass="pagination" for="listeClients" maxPages="10"
            rendered="#{clients.rowCount > 0}" renderIfSinglePage="false" ajaxSingle="true"
                    immediate="true" />
        <rich:spacer height="20" />    
    </a4j:outputPanel>
    Ca me raffrechis le scoller mais il ne pointe pas sur la premier page du resultat, ce qui fait que j'ai bien le nombre de page resultat, mais je ne voix pas mes donnés ds le tableu qu'apres un F5 ce qui'est moche.

    Edit romaintaz: Merci de penser à la balise code

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    à quoi te sert le binding ??
    et tu utilies quel filtre, si tu veux revenir vers la première page, utilise le paramère page du dataScroller et en java tu mets à jour sa valeur après le filtre.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut
    Bonne question le binding ne me cert a rien, je l'ai enlevé ca change rien. Le filtre que j'utilise est le suivant: j'ai un tableau qui affiche des N°Client des mutuelle, nom client ....et acoté on peu affiner la recherche en entrant paramette "mutuelle precise, nom,...." et je lance une requete et le resultat je le reaffiche, ca fonctionne bien, mais j'ai le soucis d'affichage, si je ne suis pas sur la premiere page avant de lancer le filtre.

  9. #9
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    donc c'est un filtre que tu utilise toi et pas celui de dataTable avec filtreBy..
    dans ce cas, il n'est pas nécessaire de faire le reRender dans le dataTable mais dans l'action de ton filtre,
    et ajoute dans le dataScroller:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <rich:datascroller  page=#{clientsDataScrollerHolder.scrollerPage}
            styleClass="pagination" for="listeClients" maxPages="10"
            rendered="#{clients.rowCount > 0}" renderIfSinglePage="false" ajaxSingle="true"
                    immediate="true" />
    et dans le bean

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Integer scrollerPage;
    dans l'action du filtre:


  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut
    Sans succe. c'est pas possible je zape quelque chose et je ne sais pas quoi.

  11. #11
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    montre ton code.

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut
    Voila mon code:
    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
     
    public class AbstractDataScrollerHolder implements Serializable
    {
      .......
     
      /**
       * Repositionne le dataScroller sur la première page
       */
      public void resetDatascroller()
      {
        if (datascroller != null)
        {
     
          datascroller.setPage(1);
        }
      }
    La partie du code ou je lance ma recherche:
    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
     
     
    @RaiseEvent("reset.search.clients")
      public void rechercher()
      {
        // clients = clientService.rechercherClients(utilisateur, filtreClient);
        clientService.setUtilisateur(utilisateur);
        clientService.setFiltreClient(filtreClient);
        // clients = clientService.getResultList(0, Integer.MAX_VALUE);
        clients = new DataModelClient(clientService);
     
        facesMessages.clear();
     
        if (clients.getRowCount() > 0)
        // if (clients.size() > 0)
        {
          // TODO Ca merdoie avec la factory
          // facesMessages.add(FacesMessage.SEVERITY_INFO, "Trouvé #0 client(s)", clients.size());
     
        }
        else
        {
          facesMessages.add(FacesMessage.SEVERITY_INFO, "Veuillez modifier vos critères");
        }
    /**
       * Repositionne le dataScroller sur la première page
       */
     
        myScoller.resetDatascroller();
      }
    theoriquement ca doit marché, mais non

  13. #13
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    après l'action est ce que tu fais un reRender du scroller?
    et on peut voir le code?

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut
    voila mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <a4j:commandButton id="filtrer"
    		action="#{rechercheClientAction.rechercher()}"
    		value="#{messages['commons_bouton_filtrer']}"   reRender="listeClients,nbreClient,scroller">
    	</a4j:commandButton>
    scoller est l'id de mon datascroller

  15. #15
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      public void resetDatascroller()
      {
        if (datascroller != null)
        {
     
          datascroller.setPage(1);
        }
      }
    tu ne fais pas de binding, sert toi du paramètre page,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      public void resetDatascroller()
      {
          setScrollerPage(1);
      }

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut
    ja'i fait comme t'a dis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void resetDatascroller()
      {
          setScrollerPage(1);
      }
    et j'ai definis avant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private int scrollerPage;
     
      public int getScrollerPage()
      {
        return scrollerPage;
      }
     
      public void setScrollerPage(final int scrollerPage)
      {
        this.scrollerPage = scrollerPage;
      }
    parceque il ne me reconnais pas le mais ca ne change rien ca ne marche tjrs pas.

  17. #17
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    page prend un object Integer,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Integer scrollerPage;

    ajoute un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText value="#{tonbean.scrollerPage}" id="page" />
    dans le reRender ajoute l'id page..

    ça te permettra de bien voir si le problème vient de là ou d'ailleurs..

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut
    ni le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    datascroller.setPage(1);
    ni le ne me change la page courante.

  19. #19
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    tu utilises quel version de richfaces déjà ?

  20. #20
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut
    Bonne question, je suis incapable de le dire, j'ai recuperer le projet avec l'envirennement bien preparé, est ce que tu peus stp comment je peux recuperer la verion ?

Discussions similaires

  1. [Image] Probleme de rafraichissement
    Par leyee dans le forum 2D
    Réponses: 4
    Dernier message: 31/10/2005, 22h26
  2. Probleme de rafraichissement Fenetre Win32 ...
    Par miaw dans le forum OpenGL
    Réponses: 1
    Dernier message: 09/05/2005, 08h59
  3. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  4. Probleme de rafraichissement
    Par glRaZ dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/03/2004, 14h07
  5. [MFC] probleme de rafraichissement d'une image
    Par Vestaproman dans le forum MFC
    Réponses: 6
    Dernier message: 09/01/2004, 23h59

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