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 :

affichage des éléments d'une liste horizontalement


Sujet :

JSF Java

  1. #1
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut affichage des éléments d'une liste horizontalement
    Bonjour a tous

    je galere depuis ce matin car j'essaie d'afficher les éléments contenu dans une liste, horizontalement.
    Est-ce possible? Parce que là je perd espoir.

    Apparement , le seul moyen de parcourir une liste sont les datatables (balise <h:dataTable). Mais ces datatables affichent les éléments de la liste par ligne ( balise <h:column> ). je ne vois pas comment faire.
    J'ai essayé de bidouiller mais rien n'y fait...

    Auriez vous une idée?

    Merci d'avance.

    PS: je travail sur un projet JSF - Facelet

  2. #2
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut
    je teste les forEach de la lib jstl/core

    Puis-je croiser les tag jstl avec les tag jsf , ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <c:forEach items="#{Controller.listeInscrits}" var="linscrits">
     
     
      <c:forEach items="#{linscrits}" var="inscrit">  
     
        <div class='blocPhoto'>
             <h:form id="form">
      		<h:commandLink id="lien" action="#{etatController.lien}">
      			<f:param name="idparam" value="#{inscrit.cod}"                                binding="#{etatController.idparam}"/>
         <img width='120' height='153' src="#{inscrit.urlphoto}" alt='Photo' />
         </h:commandLink>
    ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Points : 514
    Points
    514
    Par défaut
    une petite recherche sur le forum t aurais permis de trouver :

    http://www.developpez.net/forums/sho...d.php?t=290453

  4. #4
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut
    Merci beaucoup.
    j'avais pas trouvé ce post, car j'avais cherché "horizontale datatable"

    Merci a toi.

  5. #5
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut
    j'ai juste un petit problème. Je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <h:dataTable value="#{linscrits}" var="inscrit" rowIndex="index">
    		<h:column>
     
     		<h:outputText value = "#{linscrits[index].lib_nom_pat_ind}"/>
     
    		</h:column>
    	</h:dataTable>
    et il me dit:

    Nom:NumberFormatException
    Message:For input string: "index"
    Pile d'exécution:
    java.lang.NumberFormatException: For input string: "index"

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Points : 514
    Points
    514
    Par défaut
    ta value ne devrait pas etre #{Controller.listeInscrits} ?

  7. #7
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut
    non car en fait j'imbrique deux datatables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <h:dataTable value="#{Controller.listeInscrits}" var="linscrits">
    	<h:column>
     
     	<h:dataTable value="#{linscrits}" var="inscrit" rowIndex="index">
    		<h:column>
     
     		<h:outputText value = "#{linscrits[index].lib_nom}"/>
     
    		</h:column>
    	</h:dataTable>
     
    	</h:column>
    </h:dataTable>
    car en fait j'ai une liste de liste dinscrits. Chaque élément de la liste principale sur une ligne et les éléments de la liste secondaire affichés sur la longeur de la ligne.
    je précise la déclaration de mon .xhtml (on sait jamais):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <div xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:c="http://java.sun.com/jstl/core"
    	xmlns:ui="http://java.sun.com/jsf/facelets">

    j'ai essayé !
    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
     
    <h:dataTable value="#{listeInscritsController.listeInscritsTrombi}" var="linscrits">
    	<h:column>
     
     
     	<h:dataTable value="#{linscrits}" var="inscrit" rowIndex="rowIndex">
    		<h:column>
     
     		<h:outputText value = "#{linscrits[0].lib_nom_pat_ind}"/>
     
    		</h:column>
    	</h:dataTable>
     
    	</h:column>
    </h:dataTable>
    il me dit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Nom:NumberFormatException
    Message:For input string: "rowIndex"
    comme si il attendait un nombre pour la valeur de rowIndex=""

  8. #8
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut
    Bon ben j'ai reussi a faire ce que je voulais mais d'une manière différente:
    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
    34
    35
    36
    37
    38
     
     <table>
     
    	<c:forEach var="linscrits" items="#{Controller.listeInscrits}" >
      <tr>
     
    <c:forEach var="inscrit" items="#{linscrits}" >
    	<td>
     
     
     
    	<div class='blocPhoto'>
    	<h:form>
    	<h:commandLink action="#{Controller.lienEnter}">
    		<f:param name="idparam" value="#{inscrit.cod}"/>
     		<img width='120' height='153' src="#{inscrit.urlphoto}" alt='Photo' />
     	</h:commandLink>	
        </h:form>
    	<br />
    		<b>
    	 	<h:outputText value="#{inscrit.nom}"/>
    	 	</b>
    		<br />
    		<b>
     		<h:outputText value="#{inscrit.pr}"/>
    		</b>
    		<br />
     		<h:outputText value="#{inscrit.cod}"/>
     
     <br />
    </div>
     
    	</td>
    </c:forEach>
    </tr>
    </c:forEach>
     
    	</table>
    en utilisant donc le c:forEach.
    avant j'avais mis un binding sur le lien sur la photo mais ça prenait toujours l'id du dernier 'inscrit' affiché. J'ai donc enlevé le binding et je récupère l'id comme cela dans mon Controller:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    FacesContext context = FacesContext.getCurrentInstance();
    		String idName = (String)context.getExternalContext().getRequestParameterMap().get("idparam");

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/11/2013, 20h32
  2. Réponses: 0
    Dernier message: 13/12/2010, 09h34
  3. [DisplayTag] Affichage d'une partie des éléments d'une liste sur un critère
    Par jaguars_s dans le forum Taglibs
    Réponses: 4
    Dernier message: 30/07/2010, 18h15
  4. affichage des éléments d'une liste
    Par ajor dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 30/07/2009, 12h55
  5. Eviter l'affichage des éléments d'une liste déroulante
    Par auriolbeach dans le forum Access
    Réponses: 1
    Dernier message: 28/02/2006, 07h50

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