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 :

[RichFaces] Avec quelle classe binder une <rich: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 [RichFaces] Avec quelle classe binder une <rich:dataTable> ?
    Bonjour,

    je cherche à effectuer un binding d'une dataTable RichFaces avec un attribut de mon managedBean.

    J'ai tenté d'effectuer le binding vers un objet de type "org.richfaces.component.UIDataTable" mais j'ai l'erreur "type mismatch"



    Si quelqu'un a une idée de la classe à utiliser, qu'il se manifeste !

    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 : 46
    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 dirais org.richfaces.component.html.HtmlDataTable.
    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
    Citation Envoyé par romaintaz Voir le message
    Je dirais org.richfaces.component.html.HtmlDataTable.

    Apparement non, j'ai toujours l'erreur "type mismatch"...

  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
    Bonjour,
    javax.faces.component.UIData.

    @+

  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
    En effet ca a l'air de marcher, mais je pense qu'il doit quand même exister un objet spécifique à RichFaces pour gérer ce binding. En effet le composant <rich:dataTable> possède des attributs supplémentaires par rapport une dataTable JSF standard. Donc, il y a probablement des atrtibuts auxquels je n'aurai pas accès avec l'objet javax.faces.component.UIData.

    Ce qui conforte cette idée, c'est que j'utilise une autre libriaire de composants : RCFaces (www.rcfaces.org). Dans cette librairie, je binde les tableaux avec l'objet "org.rcfaces.core.component.DataGridComponent", cet objet contient des attributs qui n'existent pas dans l'objet javax.faces.component.UIData.

    Pour l'insatant j'ai créé un tableau tout simple pour tester donc ca a l'air marcher, mais je pense que je vais être embêté lorsque je vais enrichir mon code.

  6. #6
    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
    Je ne sais pas ce que tu désires faire exactement avec le binding, mais personnellement, je l'utilise seulement pour accéder à la méthode setFirst.

  7. #7
    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
    Par défaut
    moi j'utilise jamais le binding, je préfère faire des findComponent quand j'ai vraiment besoin de chercher un composant dans la vue JSF...
    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

  8. #8
    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 djo.mos Voir le message
    Je ne sais pas ce que tu désires faire exactement avec le binding, mais personnellement, je l'utilise seulement pour accéder à la méthode setFirst.
    Ah moi c'est plus compliqué que ca. Pour faire vite, j'ai une seule page JSP dans mon application pour afficher toutes les liste de donées avec formulaire de saisie associé. Le contenu de cette page est défini dans un fichier XML agencé à leur gré par les utilisateurs de l'appli.

    Je ne sais donc pas combien de colonnes va contenir mon tableau à la création de la JSP. Dans ma JSP, j'ai donc seulement la définition du tableau <rich:dataTable /> mais je ne définie aucun <rich:column>. Je binde mon tableau et c'est dans le constrructeur de mon managedBean que je crée des colonnes et que je les ajoute à mon tableau.

    J'ai réussi à mettre cette méthode en place avec la dataTable de la libriaire RCFaces. Mais ce composant comporte quelques bugs, c'est pour cela que je me tourne vers la librairie RichFaces.

  9. #9
    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
    Par défaut
    En effet, le binding devrait pouvoir résoudre ton problème. Maintenant, rien ne t'empêche d'utiliser une autre méthode, comme par exemple avec le FacesContext.getCurrentInstance().getViewRoot().findComponent("...");

    Je ne sais pas comment vont se configurer tes colonnes exactement, mais ne peux tu pas jouer avec l'attribut rendered ? En gros, écrire toutes les colonnes possibles de la datatable dans ta page JSP, et n'afficher que celles nécessaires via un rendered="#{monBean.maCondition}". C'est sûr que si tu as une possibilité de créer 50 colonnes différentes, ce n'est pas forcément la 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

  10. #10
    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
    Bon en fait, je suis revenu à mon ancienne librairie : RCFaces, car le bug qui me gênait à été résolu.

    Désolé pour le dérangement...

    Bonne journée

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

Discussions similaires

  1. probleme avec la creation d une classe "polynome"
    Par le_voisin dans le forum C++
    Réponses: 10
    Dernier message: 05/09/2006, 00h52
  2. [Système] Problème avec les méthodes d'une classe
    Par oussama127 dans le forum Langage
    Réponses: 7
    Dernier message: 30/08/2006, 09h18
  3. Petit soucis avec Thread::Queue et une classe
    Par vodevil dans le forum Web
    Réponses: 16
    Dernier message: 09/06/2006, 21h41
  4. Réponses: 2
    Dernier message: 17/03/2006, 09h26
  5. [Débutant] Créer une instance avec le nom d'une classe
    Par Quetzalcoatl dans le forum Langage
    Réponses: 7
    Dernier message: 23/01/2006, 20h43

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