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 :

parcourir un UIDATA


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 89
    Par défaut parcourir un UIDATA
    Comment parcourir une datatable à la maniere d'une collection ??

  2. #2
    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 .

    Je crois que le problème est inversé": un UIData ne produit pas les données. C'est à toi de les lui fournir et lui il les stocke pour l'affichage.

    Donc; au lieu de parcourir un UIData, parcoures ploutôt la liste qui l'a alimenté.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 89
    Par défaut
    en fait g une table qui contient des inputtexts.
    lors de la validation je dois m'assurer que la somme de tous les champs ne depasse pas une valeur.
    j'ai fait un binding entre la datatable et le UIDATA. Comme ça lors de la validation, je parcours la UIDATA et je calcule la somme.
    Si c'est pas possible, est ce qu'il y a une autre maniere de faire la chose???
    Merci

  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 .
    Tu peux par exemple faire le binding de la valeur des textbox.
    Exemple: la table itère sur une liste de personnes, disons:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    class Person {
      String nom;
      int poids;
    }
    et tu as une liste de personnes que tu exposes à la page JSF:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    List<Person> persons = new ArrayList<Person>();
    persons.add(..);
    :
    :
    et dans la pge, tu fais:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <h:dataTable value="#{bean.persons}" var="person" >
      <h:column>
        <h:inputText value="#{person.poids}" />
      <h:column>
    </h:dataTable>

    ainsi, après le submit, tu peux itérer sur la liste persons, additionner les poids de chaque personne et vérifier qie c'est < X.

    C'est la manière la plus propre pour le faire.
    Après, tu peux y aller autrement, mais ce serait sans moi

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 89
    Par défaut
    Tu me proposes de parcourir la liste des données. Mais au moment de la validation la liste des données n'est pas encore mise à jour par JSF. D'apres ce que je sais, le mise à jour du model se fait apres la validation.
    Je vais tester seulement des valeurs anciennes.

  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
    Bonjour

    Pourrais-tu donner un peu ton contexte.
    En effet, c'est à toi de fournir la liste de données au composant étendant le UIData. Donc logiquement, tu peux parcourir ta liste sans problème, vu que tu l'as sous la main
    Donc en comprenant mieux ton contexte, peut-être nous pourrons mieux t'aider...
    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 confirmé
    Inscrit en
    Juillet 2007
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 89
    Par défaut
    Le contexte est le suivant:
    J'initialise une liste avec des elemenst chargés de la base de données. C'est elements sont ensuite affichés dans une datatable. Ces elements sont modifiables dans la datatable, en effet dans les htmlcolumn il y a des html:inputText. La page contient aussi un bouton enregistrer, pour mettre les modifications en base. Cepandant, avant de mettre à jour les données dans la base je dois m'assurer que la somme des valeurs d'une colonne ne depasse pas une valeur max, et ceci via un validateur JSF.
    Pour cela, j'ai fait un binding entre la datatable et un objet UIDATA. A la validation, je voudrai parcourir le UIDATA pour valider la saisie.
    j'espere que c'est clair comme ça.

  8. #8
    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 crois pas qu'un validateur JSF pourra répondre à ta requête vu qu'il s'agit de vérifier une liste de valeurs d'un coup.
    Donc, rien ne t'empêche de faire comme je te l'ai proposé, et avant d'enrtegistrer dans la base de données, tu fais ton test, et si c'est pas bon, tu retournes à la page de saisie et tu affiches un message d'erreur.

  9. #9
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 89
    Par défaut
    Oui mais si je fait comme tu dis, je perds les valeurs saisies par l'utilisateur. L'utilisateur devra recommencer toute la saisie.

Discussions similaires

  1. [Kylix] Parcourir le réseau...
    Par _dack_ dans le forum EDI
    Réponses: 2
    Dernier message: 27/06/2003, 15h46
  2. [VB6] parcourir une arborescence de repertoire
    Par pecheur dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 30/04/2003, 17h33
  3. [langage] Parcourir un tableau
    Par Jibees dans le forum Langage
    Réponses: 13
    Dernier message: 22/04/2003, 14h18
  4. Comment cree une boite de dialogue parcourir
    Par kenshi dans le forum MFC
    Réponses: 5
    Dernier message: 06/01/2003, 10h30
  5. [VB6] [MDI] Parcourir toutes les MDIForms chargées
    Par d.carail dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 04/10/2002, 09h07

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