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 :

Probleme raffraichissement datatable


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Par défaut Probleme raffraichissement datatable
    Bonjour

    Je sais que le sujet est traité et retraité mais je trouve pas la solution.

    J'ai un dataTable qui m'affiche un id, un nom, un prenom, un email.

    J'affiche ma table membre dans mon datatable. En dessous j'ai un panelgrid qui fonctionne et qui me permet d'ajouter des membres dans ma BD:

    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
     
    <h:form rendered="#{memberController.show}" style="margin-top:20px" styleClass="toto">
    <h:outputText value="Ajouter un membre :" styleClass="titleComposant"/>
        <rich:panel>
                                <h:panelGrid style="margin-top:10px" id="panelAjout">
                                    <h:outputText value="Nom: " style="color:gray"/>
                                    <rich:inplaceInput defaultLabel="cliquer et entrer nom" value="#{memberController.member.nom}"/>
                                    <h:outputText value="Prénom:" style="color:gray"/>
                                    <rich:inplaceInput defaultLabel="cliquer et entrer prénom" value="#{memberController.member.prenom}"/>
                                    <h:outputText value="Téléphone:" style="color:gray"/>
                                    <rich:inplaceInput defaultLabel="cliquer et entrer numero" value="#{memberController.member.phone}"/>
                                    <h:outputText value="Licence:" style="color:gray"/>
                                    <rich:inplaceInput defaultLabel="cliquer et entrer licence" value="#{memberController.member.licence}"/>
                                    <h:outputText value="Email:" style="color:gray"/>
                                    <rich:inplaceInput defaultLabel="cliquer et entrer email" value="#{memberController.member.email}"/>
                                    <h:outputText value="Type:" style="color:gray"/>
                                    <rich:inplaceInput defaultLabel="Enter admin ou typeUser" value="#{memberController.member.type}"/>
                                </h:panelGrid>
     
                                    <a4j:commandButton value="Ajouter" action="#{memberController.ajouter}" reRender="dataTable">
        </a4j:commandButton>                            
     </rich:panel>
     
    </h:form>
    Le souci est que lorsque je clique sur le commandButton et qu'il ajoute un membre ds ma BD, il ne me raffraichis pas mon datatable. Mon datataTable à comme id="dataTable"

    Voyez vous une erreur

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Par défaut
    Ta méthode ajouter() dans memberController met bien à jour le dataModel (ou la liste) de ton tableau?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Par défaut
    Merci de ton aide

    Les modifications se font correctement ds ma BD. Pour l'insert, je n'utilise pas de List ou de datamodel. J'utilise simplement mon instance de classe Member en parametre d'entré de ma classe DAO qui fait un save vers ma BD.

    je te mets le code si tu vois une possible erreur qui expliquerai le faite qu'il n'y a pas de raffraichissement:

    ma methode ajouter():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public void ajouter() {
      daoMember.insertMember(member);
    }
    ma methode DAO:
    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
     
    public Member insertMember(Member memb) {
            try {
                Session session = HibernateUtil.getSession();
                Transaction tx = session.beginTransaction();
                getSession().save(memb);
                tx.commit();
                log.debug("Sauvegarde effectuée");
            } finally {
                try {
                    HibernateUtil.closeSession();
                } catch (HibernateException e1) {
                    e1.printStackTrace();
                }
            }
            return memb;
        }
    Je n'arrive donc pas à raffraichir mon datatable lorsque j'ajoute un member

  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
    Ne met pas de condition sur le form, plutôt sur le panel, et inclus la dataTable dans le même form.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Par défaut
    Je n'ai pas compris à quoi ton dataTable est bindé.

    Vérifies que ton DAO renvoie bien une requête après l'insertion.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Par défaut
    Merci pour votre aide

    Je n'ai pas compris (je n'en vois pas) :
    "Ne met pas de condition sur le form"

    Sinon j'ai tout insérer dans le même form mais pr l'instant cela ne marche pas.

  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
    Citation Envoyé par raimus88 Voir le message
    Merci pour votre aide

    Je n'ai pas compris (je n'en vois pas) :
    "Ne met pas de condition sur le form"

    Sinon j'ai tout insérer dans le même form mais pr l'instant cela ne marche pas.
    le rendered sur le form, il vaut mieux le faire pour l'outpuPanel,
    donne nous le code de la dataTable, je suppose que ton code de modification fonctionne bien.. tu peux regarder en debug si l'objet a bien été inséré dans la liste.

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

Discussions similaires

  1. Probleme avec datatable
    Par lakhdharani dans le forum JSF
    Réponses: 6
    Dernier message: 17/02/2009, 16h04
  2. Probleme avec datatable
    Par nt_amine dans le forum JSF
    Réponses: 4
    Dernier message: 03/12/2008, 09h59
  3. probleme avec datatable
    Par oussamus dans le forum Seam
    Réponses: 0
    Dernier message: 01/12/2008, 14h49
  4. Probleme avec datatable imbriqués
    Par tomy29 dans le forum JSF
    Réponses: 2
    Dernier message: 14/08/2008, 11h29
  5. Probleme raffraichissement d'une form
    Par Contrec dans le forum C#
    Réponses: 12
    Dernier message: 17/12/2007, 09h16

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