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 de 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
    et autre ;)
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : et autre ;)
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut dataTable de dataTable
    Salut tout le monde,

    Ce que je veux faire c'est un tableau de tableau:

    ------------------------------------------------------------
    ............Mois 1..............|....................Mois 2 ..................|
    ------------------------------------------------------------
    Personne 1....................|....................Personne 3
    Personne 2....................|....................Personne 4
    Personne 3....................|....................Personne 5
    ...................................|....................Personne 6
    ...................................|
    ...................................|
    ...................................|
    ------------------------------------------------------------
    autre liste de personne...|............autre liste de personne


    Le tableau serait alors la représentation de la liste: ArrayList<LigneTableau>
    avec LigneTableau( ArrayList<Personne> listeMois1, ArrayList<Personne> listeMois2)

    Donc pour l'affichage y'a pas de souci, je fais


    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
    <rich:dataTable value="#{listeLigneTableau}" var="ligne" >
        <rich:column>
            <f:facet name="header">Mois 1</f:facet>
                    <rich:dataTable value="#{ligne.listePersonne1}" var="personne" >
                        <rich:column>
     
                            <s:link view="/tab_dispo/fiche_collab.xhtml" action="#{Tab_DispoMA.selCollab(personne)}" value="#{personne.nom}" />
     
                        </rich:column>
                    </rich:dataTable>
        </rich:column>
        <rich:column>
            <f:facet name="header">Mois 2</f:facet>
                <rich:dataTable value="#{ligne.listePersonne2}" var="personne" >
                    <rich:column>
     
                        <s:link view="/tab_dispo/fiche_collab.xhtml" action="#{Tab_DispoMA.selCollab(personne)}" value="#{personne.nom}" />
                    </rich:column>
                </rich:dataTable>
       </rich:column>
    </rich:dataTable>

    Dans Tab_DispoMA:

    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
    @Out(value="selCollab", required=false)  private Personne selCollab;
     
    public String selCollab(Personne personne){
     
        System.out.println(personne);
     
        this.selCollab=personne;
     
        return "/tab_dispo/fiche_collab.xhtml";
     
    }
     
     
     
    + getter & setter

    Le probleme est que a l'appel de System.out.println(personne); personne est null alors que value="#{personne.nom}" m'affiche le nom correctement.

    Bref comment-ce fait-ce? Quelqu'un a une idée, une explication ou pourrait m'orienter vers une autre solution pour aboutir au même résultat?

    Merci en tout cas je m'inspire énormement de l'aide que vous apportez

  2. #2
    Membre éclairé
    Homme Profil pro
    et autre ;)
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : et autre ;)
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut
    J'ai également testé subTable, mais le résultat est le meme, le parametre que je passe est nul ...

  3. #3
    sup
    sup est déconnecté
    Membre confirmé Avatar de sup
    Profil pro
    Inscrit en
    Août 2004
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 70
    Par défaut
    Bon, je n'ai jamais utilisé <s:link, je suppose que ce doit etre similaire a un h:commandLink

    mais pour passer des parametres, j'utilise <f:param systématiquement


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:commandButton action="#{Tab_DispoMA.processAction}" value="#{personne.nom}" >
    <f:param name="personneObject" value="#{personne}" />
    </h:commandButton>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public String processAction(ActionEvent evt) throw AbortProcessingException
    {
     
    		Map<String, Personne> map = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();		
    		Personne personne = (Personne) map.get("personneObject");
    		...
     
    		return "/tab_dispo/fiche_collab.xhtml";
    }

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Salut,
    Une solution similaire à celle proposée par sup, quoi que plus simple à mon avis est de passer par le setPropertyActionListener:

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <h:commandLink action="#{Tab_DispoMA.le traitementDeSetCollabSansSetCollab}" value="#{personne.nom}" >
      <f:setPropertyActionListener value="#{personne}"
     
    			target="#{Tab_DispoMA.collab}" />
    </h:commandLink>

    Et dans l'action, tu devrais avoir le champ collab correctement renseigné.

    http://java.developpez.com/faq/jsf/?...le_active_row3

  5. #5
    Membre éclairé
    Homme Profil pro
    et autre ;)
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : et autre ;)
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut
    Je teste ca tout de suite et je vous donne les résultats.

    pour info, sup, la balise <s:link est propre a SEAM, j'ai omis de le préciser.

    Je teste et je reviens, merci ts les deux en tout cas

  6. #6
    Membre éclairé
    Homme Profil pro
    et autre ;)
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : et autre ;)
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut
    La solution que tu as donné djo.mos est parfaite, pardon pour avoir zappé cette partie de la faq, je l'ai lu pourtant ..

    Je n'ai pas testé ta solution sup mais merci tout de même

    Merci mille fois les gars

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

Discussions similaires

  1. [Plugin] [dataTable] Filtre dataTable ne fonctionne pas
    Par bip-bip dans le forum jQuery
    Réponses: 1
    Dernier message: 16/06/2015, 16h08
  2. Réponses: 6
    Dernier message: 17/08/2011, 17h54
  3. [VB.NET] [DataTable] Un DataTable et plusieurs Combos?
    Par Giuseppe dans le forum Windows Forms
    Réponses: 14
    Dernier message: 09/12/2005, 20h40
  4. [VB.NET][ADO]Fusionner des dataTables
    Par neo.51 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/07/2005, 00h22
  5. Réponses: 3
    Dernier message: 21/05/2003, 11h44

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