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 :

dataList & a4j


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut dataList & a4j
    salut,

    y a t-il un moyen de rafraichir un seul élément d'une dataList ?

    Mon code ressemble à ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <t:dataList id="dataListId" value="#{monBean.listeElement}" var="unElement" rowIndexVar="current">
    <h:selectOneRadio value="#{monBean.value}" >
          <f:selectItem itemValue="value1" />
          <f:selectItem itemValue="value2" />
          <a4j:support event="onchange" reRender="elementsARafraichir" />
       <h:selectOneRadio>
       <h:panelGroup id="elementsARafraichir">
          ...
          ...
       </h:panelGroup>
    </t:dataList>
    j'ai essayé également de remplacer la dataList par un forEach mais, ça n'a pas résolu mon problème car l'attribut reRender n'accepte pas d'EL.


    Merci d'avance

  2. #2
    Membre très actif Avatar de hazamor
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 179
    Par défaut exploiter la classe AjaxContext et FacesContex
    Créer une méthode dans le controller et dans cette methode essayez d'exploiter la classe AjaxContext et FacesContex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    {
    ....
    FacesContext ctx = FacesContext.getCurrentInstance();
    UIComponent elem_a_ref = ((UIComponent) ctx.getViewRoot()).geElementById("elementsARafraichir");
     
     
    AjaxContext ac=  AjaxContext.getCurrentInstance();
    ac.addComponentToAjaxRender(elem_a_ref );
    ...
    }

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut
    Merci pour ta réponse.

    Le souci est justement l'id que je n'arrive pas à rendre dynamique.

    je voulais faire ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    <a4j:support event="onchange" reRender="elementsARafraichir_{index}" />
    ...
    <h:panelGroup id="elementARafraichir_<c:out value='${index}/>'" />
    ...
    mais ça ne marche pas car les attributs id et reRender n'acceptent pas d'EL !
    Donc ta solution ne résout pas totalement le problème dans la mesure ou je n'arrive pas à distinguer les différents blocs (à rafraichir) générés

  4. #4
    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
    Pourquoi tu ne fais pas le reRender sur toute la datalist.

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut
    Je trouve que c'est dommage de reRender toute la dataListe alors que seules la valeurs d'un élément (ensemble d'éléments générés dans la même itération) doit être mis à jour.

  6. #6
    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
    ok,
    et si tu englobe l'élément dans un a4j:outputPanel et tu fais le reRender sur ce dernier?
    tu as vérifier si la valeur change bien coté serveur..?

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

Discussions similaires

  1. [C#] WebControl DataList
    Par SoaB dans le forum ASP.NET
    Réponses: 2
    Dernier message: 22/03/2005, 14h35

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