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 :

Afficher des données sous forme de tableau


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Points : 27
    Points
    27
    Par défaut Afficher des données sous forme de tableau
    Bonjour,

    Une question tout bête: comment afficher un tableau?
    J'y arrive depuis ma base de donnée mais pas à partir de variables.

    j'ai des données dans une liste à afficher depuis le bean.java sous forme d'un tableau dans la jsp
    J'ai donc créé un h:dataTable.

    Problème : je ne trouve pas comment l'alimenter avec mes données.
    Quelqu'un peut m'aider?

  2. #2
    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
    Points : 5 059
    Points
    5 059
    Par défaut
    montre nous comment tu déclare ta liste,ce que tu as essayé de faire dans la jsp,on t'aidera à corriger..

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    En fait ma liste est une Hashtable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            Hashtable h = recupProfil();
            DefaultTableDataModel d = new DefaultTableDataModel();
            d.setWrappedData(h);
            this.setDataTable1Model(d);
    Je précise que ma Hashtable fonctionne bien (elle est remplie)

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Le principe est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <h:datatable value="#{monBean.maListe}" var="record">
        <h:column>
            <f:facet name="header">
                <h:outputText value="Nom colonne"/>
            </f:facet>
            <h:outputText value="#{record.uneValeur}"/>
        </h:column>
        ...
    </h:datatable>
    Dans le bean, tu dois avoir une méthode getMaListe() qui retourne une List (ou Set) d'élément qui vont être itérés par record. Autrement dit, ce doit être des éléments ayant une propriété uneValeur (getter getUneValeur()).

    Est-ce plus clair ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    non en fait ce n'est pas une List mais un DefaultDataTableModel
    Donc je ne trouve pas la methode qui correpond à add pour une list

  6. #6
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Il faut de toutes façons que tu retournes une liste, pour qu'elle soit traitée par le composant datatable...

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    ok merci
    tu peux juste m'en dire un peu plus sur le record

  8. #8
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    C'est assez proche d'une boucle for en Java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List<UnObjet> maListe = ...;
    for (UnObjet record : maListe) {
        ...
    }
    eh bien dis toi que la datatable va faire une boucle sur ta liste, et record sera la variable d'itération.
    C'est aussi simple que ça !

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    désolé mais je ne vois pas avec une boucle for je ferais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            SelectItem record;
            for(int i=0;i<maListe.size();i++) {
                record.setLabel(maListe.get(i).getLabel());
                record.setValue(maListe.get(i).getValue());
            }
    mais sans i comment fais-je?

  10. #10
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Tu ne travaillerais pas en Java 1.4 toi ?

    Bah c'est pratiquement la même chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    List<MonObjet> maListe = ...;
    MonObjet record = null;
    for (int i = 0; i < maListe.size(); i++) {
        record = (MonObjet) maListe.get(i);
        // Après on travaille sur record...
    }

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    en fait je me prends la tête sur des conneries :
    dans le jsp quand je tape record. il ne me propose rien donc je pensais que ça ne marchait pas mais si, ça fonctionne!!!

    Merci beaucoup romaintaz.

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

Discussions similaires

  1. Afficher des données sous forme d'un tableau.
    Par Khaoula.85 dans le forum MFC
    Réponses: 3
    Dernier message: 29/10/2009, 14h56
  2. Réponses: 3
    Dernier message: 19/01/2008, 10h20
  3. [MySQL] Afficher des résultat sous form de tableau invisible ?
    Par tentsuken dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/01/2008, 15h18
  4. afficher des données sous forme de liste
    Par yannick9 dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/08/2007, 14h32
  5. jsp+afficher des données sous forme de graphes
    Par oasma dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 25/03/2007, 13h24

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