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 avec un champ qui n'est pas dans la liste


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 35
    Points : 24
    Points
    24
    Par défaut DataTable avec un champ qui n'est pas dans la liste
    Bonjour,

    J'ai une liste de ontact:
    id_contact
    login
    mdp

    je voudrai afficher dans un DataTable la liste des contacts (qui est fait) mais je voudrai ajouter dans le tableau un champ qui determine si cette personne là a un compte mantis ou pas(je recupére ça d'une autre fonction).

    Bref, j'ai une fonction qui va me faire ce tester là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    String tester(String login){
    // mes opération de test
    if(....)
    return "vrai";
    else return "faux";
    }
    Donc le resultat que je voudrai avoir c un exemple comme ça:
    +---------+---------+-------------+
    | login | mdp | existe |
    +---------+---------+-------------+
    | Michael | motdepasse | vrai |
    +---------+---------+-------------+
    | Christophe| motdepasse | faux |
    +---------+---------+-------------+

    J'affiche le Tableau normalement depuis une liste de Contact mais ce champ là. je sais pas comment l'ajouter, j'ai essayé ça mais ça marche pas:

    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
     
    <rich:dataTable id="users" value="#{adminBean.contacts}" var="p">
        	<f:facet name="header">
                    <h:outputText value="User Control" />
            </f:facet>
    			<h:column>
    				<f:facet name="header">
    					<h:outputText value="login" />
    				</f:facet>
    				<h:outputText value="#{p.login}" />
    			</h:column>
    			<h:column>
    				<f:facet name="header">
    					<h:outputText value="test" />
    				</f:facet>
    				<h:outputText value="#          {adminBean.tester['p.login']}" />
    			</h:column>
    </rich:dataTable>
    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2008
    Messages : 179
    Points : 172
    Points
    172
    Par défaut
    Bonjour,

    puisque tu n'as pas eu de réponse depuis, et au cas où tu n'aurais pas déjà trouvé, je vais m'y essayer.

    Si comme je le pense tu as qqchose comme ça dans ton bean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private List<Contact> contacts; // + getters / setters / init
    alors je pense que le meilleur moyen pour résoudre ton problème est de rajouter un getter sur une propriété virtuelle (au sens littéral du terme) à ta classe contact. Ca pourrait ressembler à ça (non testé) :
    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 class Contact {
      private String login; // + getter/setter
      //...
      //...
      public String getDoesExist(){
        return testerContact(this.login);
      }
      //...
      private String tester(String login){
        // mes opération de test
        if(....)
          return "vrai";
        else return "faux";
      }
    //...
    }
    il te reste alors à récupérer le résultat comme si l'attribut "doesExist" existait sur ton contact:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <h:column>
    	<f:facet name="header">
    		<h:outputText value="test" />
    	</f:facet>
    	<h:outputText value="#{p.doesExist}" />
    </h:column>
    Voilà, en espérant t'avoir été utile.
    Roger l'Âne: le lapin devenu grand....
    _______________________________________________________________
    Développeur bio-informatique; spécialiste en rien, généraliste en tout.

    Capitan ! Capitan ! On a aperçu le Loup ! Il a pris d'assaut une chaise à porteurs, à l'aide d'un cul-de-jatte et d'un lapin !
    (Pavillon noir !, Alain Ayroles/Jean-Luc Masboux, éd. Delcourt, coll. Terres de Légendes, 1997, p. 18)

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    Merci bcp Roger_Rabbit

    Celà fonctionne parfaitement!!

    J'avais laisser de coter pour un autre jour, mais ta réponse m'a épargner un temps précieux!!!


    Encore merci!!!

Discussions similaires

  1. Rajouter un champs qui n'est pas dans la table
    Par robbiano78 dans le forum Hibernate
    Réponses: 9
    Dernier message: 19/08/2009, 11h26
  2. [JComboBox] Afficher du text qui n'est pas dans la liste
    Par metaska dans le forum Composants
    Réponses: 3
    Dernier message: 10/09/2008, 13h30
  3. elements qui n'est pas dans une liste
    Par KEnder dans le forum Général Python
    Réponses: 2
    Dernier message: 16/05/2008, 01h52
  4. Problème avec un div qui n'est pas pris en compte
    Par boss_gama dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 25/07/2006, 16h32
  5. Trouver une valeur qui n'est pas dans un champ
    Par eric41 dans le forum Requêtes
    Réponses: 6
    Dernier message: 16/05/2006, 16h48

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