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 / HTML / PrimeFaces : actualiser un DataTable


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    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 : 403
    Par défaut JSF / HTML / PrimeFaces : actualiser un DataTable
    Bonjour,

    J'ai une liste de produits dans un datatable avec les colonnes : Prix, Quantité (éditable) et Total.

    Quand je modifie la Quantité, je veux bien sur calculer : Total = Prix * Quantité.

    Un listener <p:ajax> sur Quantité me permet de récupérer l'objet Produit de la ligne, mais je n'arrive pas à actualiser Total.

    Je sais, c'est idiot, mais je suis bloqué là dessus depuis tellement de temps que je n'ose pas le préciser !!!

    Merci de m'aider

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    si tu veux un peu d'aide, il serait bon que tu nous fournisses ce que tu as déjà mis en place.
    Attention le code généré, celui lisible dans le navigateur.

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    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 : 403
    Par défaut
    Bonjour,

    Lorsque je saisis une quantité, je souhaite mettre à jour le total ht de la ligne et de la colonne.

    Merci.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <p:column headerText="Quantité">
        <p:inputText value="#{prod.quantite}" >
             <p:ajax event="change" listener="#{catalogManagerBean.quantiteSaisie(prod)}" />
        </p:inputText>
    </p:column>
     
    <p:column headerText="Total HT">
         <h:outputText value="#{prod.total}"/>
         <f:facet name="footer" >
               <h:outputText value="#{catalogManagerBean.totalGeneral}" />
         </f:facet>
    </p:column>
     
     
    public void quantiteSaisie(Product p) {
         p.setTotal(p.getPrix() * p.getQuantite());
         calculerTotalGeneral();
        }
     
        public void calculerTotal() {
            for (Product p : listeProduit) {
                p.setTotal(p.getPrix() * p.getQuantite());
            }
        }
     
        public void calculerTotalGeneral() {
            Double total = 0.0;
            for (Product p : listeProduit) {
                total = total + p.getTotal();
                setTotalGeneral(total);
            }

    Nom : Capture.PNG
Affichages : 1055
Taille : 19,2 Ko

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Je n'avais pas bien vu le langage qui possède son propre forum, je déplaces.

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Là, c'est un peu plus compliqué, d'autant que mettre à jour la zone dans le footer nécessite une bidouille (de mémoire)...

    La solution simple (si tu n'as pas beaucoup de donner dans le datatable) consiste à faire un update sur la table après la modification.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <p:datatable id="maTable" ....>
    ...
       <p:column>
          <p:inputText ...>
             <p:ajax event="change" process="@this" listener="..." update="maTable"/>
       </p:column>
    ...
    </p:datatable>
    Sinon, il va falloir faire un update du total de la ligne + un update de la ligne de totalisation...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    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 : 403
    Par défaut
    Merci pour ta réponse, mais j'ai omis de préciser que Quantité et Total HT ne sont pas en base, ici c'est juste pour de l'affichage.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/09/2010, 09h28
  2. actualiser un datatable
    Par intissar_g dans le forum JSF
    Réponses: 2
    Dernier message: 22/09/2008, 12h01
  3. jsf/core et jsf/html non trouvés
    Par kimlee dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 07/11/2007, 16h49
  4. quel tag JSF HTML utiliser ( <h:/> ) ?
    Par gaet_045 dans le forum JSF
    Réponses: 7
    Dernier message: 12/06/2007, 17h03

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