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 :

Datatable commandlink delete


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2012
    Messages : 61
    Par défaut Datatable commandlink delete
    bonjour tous le monde,
    je suis débutante en framwork JSF( je travail avec apach tomcat 7 ,base de donnée mySQL), j'ai une classe Departement avec les attributs(id,nom,code) et j'ai créer ma classe DepartementBean avec l'objet Departement et un ArrayList rempli avec des departements de la base de donnée et une methode delete voila son code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     public void delete (ActionEvent event ){
    		System.out.println("first");
    		UIParameter param=(UIParameter) event.getComponent().findComponent("supp");
    	System.out.println(param.getValue().toString());
    		long id=Long.parseLong(param.getValue().toString());
    		DaoDepartement.deleteDepartement(id);
    		}
    dans ma page xhtml j'ai un datatable qui affiche tous les departement que j'ai dans la base de donnée et je veux afficher dans chaque ligne un lien supprimer qui peux supprimer la departement . voila le code de ma page xhtml mais ça fonctionne pas ,si il y a quelqu'un parmi vous qui peux m'aider n'hésiter pas et merçi .

    departement.xhtml
    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
    32
    33
    <h:form prependId="false"  >  
        <p:dataTable  var="dept" value="#{departementBean.depts}" styleClass="table" border="1" >  
            <p:column id="modelHeader">  
                <f:facet name="ID">  
                        Model  
                </f:facet>  
                <h:outputText value="#{dept.id}" />  
            </p:column>  
     
            <p:column>  
                <f:facet name="NOM">  
                        Year  
                </f:facet>  
                <h:outputText value="#{dept.nom}" />  
            </p:column>  
     
            <p:column>  
                <f:facet name="CODE">  
                        Manufacturer  
                </f:facet>  
                <h:outputText value="#{dept.code}" />  
            </p:column>  
       <p:column>  
     
                <h:commandLink value="Modifier" />  
            </p:column>   <p:column>  
     
                <h:commandLink actionListener="#{departementBean.delete}" value="supprimer">
                <f:param name="id" id="supp" value="#{departement.id}" />
                </h:commandLink>  
            </p:column>  
        </p:dataTable>  
    </h:form>

  2. #2
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    salut,

    essaye plutôt ça (tu es bien en JSF 2 ?)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     public void delete (long id) {
    		DaoDepartement.deleteDepartement(id);
    		}
    et ça :

    departement.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
     
    <p:column>  
       <h:commandLink actionListener="#{departementBean.delete(dept.id}" value="supprimer" />
     </p:column>  
     
     ...

  3. #3
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    j'ai oublié une parenthèse dans l'EL,
    mais peut-être l'avais tu corrigé :

    "#{departementBean.delete(dept.id)}"

  4. #4
    Membre confirmé
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2012
    Messages : 61
    Par défaut
    merci énormément ça fonctionne très bien avec ta méthode et elle est plus simple et claire aussi que la méthode que j'ai utilisé
    merci encore

  5. #5
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    super

    n'oublie pas de cliquer sur "Résolu"

  6. #6
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 3
    Par défaut
    est ce que tu peux nous afficher le code de la modification ??jsf2.0

  7. #7
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Une modification est "un peu plus complexe" à mettre en place.
    Déjà il faut ouvrir dans un formulaire de saisi les éléments du tableau à modifier et donc le traiter comme tout autre formulaire.

    Sinon autre solution, que j'aime bien c'est le CellEditor :
    http://www.developpez.net/forums/d12...mefaces-3-2-a/

    et encore ici :
    http://www.developpez.net/forums/d12...dit-datatable/

  8. #8
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 3
    Par défaut
    moi je cherche mettre en place la premiere solution c est a dire ouvrir l enregistrement dans une autre formulaire ,le modifier et puis cliquer sur le bouton enregistrer ; j espere que vous m aidez a mettre en place cette solution

  9. #9
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Citation Envoyé par ibnrochd Voir le message
    moi je cherche mettre en place la premiere solution c est a dire ouvrir l enregistrement dans une autre formulaire ,le modifier et puis cliquer sur le bouton enregistrer ; j espere que vous m aidez a mettre en place cette solution

    okay, mais il te faudra patienter qqs jours, mes journées vont être chargées jusqu'à mardi prochain.

  10. #10
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 3
    Par défaut
    si vous permettez tu me donnes juste les grandes lignes mnt et pour le detail on le verra apres

  11. #11
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Dans les grande lignes:

    - tu fais un bouton "edition" dans ta ligne de tableau
    - ce bouton possède un actionListener qui affecte l'objet du rang que tu as cliqué à une propriété du ManagedBean.
    - ce bouton ouvre avec un callback Javascript un p:dialog qui contient un forumulaire d'édition de l'objet cliqué
    - ce formulaire doit se fermer sur un "onsuccess" sur un p:commandButton en AJAX.
    - ton objet métier doit implémenter equals et hashcode.
    - Le ManagedBean doit être en scope session



    Voila pour les grandes lignes

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

Discussions similaires

  1. dataTable + commandLink + bean request
    Par koack dans le forum JSF
    Réponses: 5
    Dernier message: 14/03/2011, 12h26
  2. JSF CommandLink au sein DataTable
    Par essaine dans le forum JSF
    Réponses: 2
    Dernier message: 12/04/2010, 11h55
  3. JSF dataTable commandLink
    Par Nemesys1976 dans le forum JSF
    Réponses: 5
    Dernier message: 24/01/2010, 22h30
  4. datatable & commandLink
    Par dev7 dans le forum JSF
    Réponses: 1
    Dernier message: 27/11/2006, 14h46
  5. <h:dataTable> et <h:commandLink> ?
    Par eric95 dans le forum JSF
    Réponses: 11
    Dernier message: 21/10/2006, 19h50

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