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 :

Disposition du contenu d'une <h:dataTable>


Sujet :

JSF Java

  1. #1
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut Disposition du contenu d'une <h:dataTable>
    Bonjour,

    j'utilise un <h:dataTable> pour afficher des éléments sur une page JSF. L'objectif est d'afficher un formulaire de saisie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <h:dataTable value="#{monBean.maListe}" var="monObjet">
    	<h:column>
    		<h:outputText value="#{monObjet.label}" />
    	</h:column>
    	<h:column>
    		<h:inputText value="#{monObjet.value}" />
    	</h:column>
    </h:dataTable>
    Le problème, c'est que les couples "Label + Zone de texte" sont affichés les uns en dessous des autres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Matricule :       [        ]
    Nom :             [        ]
    Prénom :          [        ]
    Adresse :         [        ]
    J'aimerais par exemple afficher sur chaque ligne du tableau 2 couples "Label + Zone de texte" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Matricule :       [      ]       Nom :             [      ]
    Prénom :          [      ]       Adresse :         [      ]
    Est-ce que cela est possible et si oui comment ?

    Merci d'avance

  2. #2
    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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Euh, je ne sais pas si le dataTable est vraiment le composant le plus adapté dans ton cas...
    Toujours est-il qu'il doit être possible de ruser, par exemple en faisant en sorte que l'objet monObjet conserve 2 champs et 2 valeurs à la place d'une seule.

    En gros, ça ferait :

    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="#{monBean.maListe}" var="monObjet">
    	<h:column>
    		<h:outputText value="#{monObjet.label1}" />
    	</h:column>
    	<h:column>
    		<h:inputText value="#{monObjet.value1}" />
    	</h:column>
    	<h:column>
    		<h:outputText value="#{monObjet.label2}" />
    	</h:column>
    	<h:column>
    		<h:inputText value="#{monObjet.value2}" />
    	</h:column>
    </h:dataTable>
    Maintenant, je trouve ça pas vraiment propre, d'où mon questionnement sur le choix du composant...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Je suis d'accord sur le fait que que le composant dataTable n'est sûrement pas adapté pour faire cela mais je ne vois pas quel autre composant JSF utiliser... Une idée ?

    Citation Envoyé par romaintaz
    Toujours est-il qu'il doit être possible de ruser, par exemple en faisant en sorte que l'objet monObjet conserve 2 champs et 2 valeurs à la place d'une seule.
    Cette solution de va pas me convenir car là j'ai donné un exemple mais dans d'autres pages je peux très bien vouloir afficher 3 champs sur la prmière ligne, puis 2 en-dessous puis 4...

  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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Citation Envoyé par danyboy85 Voir le message
    Cette solution de va pas me convenir car là j'ai donné un exemple mais dans d'autres pages je peux très bien vouloir afficher 3 champs sur la prmière ligne, puis 2 en-dessous puis 4...
    Ce qui me fait vraiment dire que le composant dataTable est inadapté à ce que tu veux faire.
    Je te conseille plutôt d'utiliser des panelGrid...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Je te conseille plutôt d'utiliser des panelGrid...

    Oui mais le panelGrid ne permet pas de boucler sur une liste comme le fait un dataGrid


    Tout compte fait, et après maintes recherches, je pense que le mieux est de créer mon propre composant qui étend dataGrid (ou pas) et où je spécifie mon propre Renderer, même si je pense que je vais galérer

  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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Je suis conscient que le panelGrid ne permet pas d'itérer sur ta liste. D'un autre côté, j'ai un peu l'impression que tu as pas mal de cas différents lors du rendu de ta page (un coup j'affiche 2 couples par ligne, un autre coup c'est 4, etc.).

    De ce fait, je doute qu'un composant itérable soit vraiment une bonne solution...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  7. #7
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Tu as raison, c'est d'ailleurs pour cela qu'il faut mieux que je crée mon propre Renderer qui à l'aide des valeurs que je lui passerai en paramètre, me générera le rendu voulu

    En tout cas merci pour ton aide. Je posterais ici lorsque j'aurai quelque chose de concret

    Bonne journée

Discussions similaires

  1. Récupérer le contenu d'une ligne dans datatable
    Par stoner2008 dans le forum JSF
    Réponses: 5
    Dernier message: 26/12/2013, 17h16
  2. afficher le contenu d'une datatable
    Par ouinih dans le forum Windows Forms
    Réponses: 4
    Dernier message: 29/10/2010, 11h46
  3. Mettre le contenu d'une DataGrid dans une DataTable
    Par shaun_the_sheep dans le forum C#
    Réponses: 1
    Dernier message: 15/10/2009, 19h12
  4. [C#] Comment afficher le contenu d'une dataTable ?
    Par Johann7751 dans le forum C#
    Réponses: 4
    Dernier message: 12/06/2009, 16h39
  5. recuperer le contenu d'une DataTable..
    Par sarah_s dans le forum C#
    Réponses: 6
    Dernier message: 30/05/2007, 11h17

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