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 :

[jsf] Entrer une série de valeurs directement dans une List


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut [jsf] Entrer une série de valeurs directement dans une List
    Bonjour,

    Dans ma page, suivant certains paramètres, l'utilisateur devra remplir un nombre variable de valeurs pour une série.

    Pour l'instant, mon idée, c'est d'afficher N composants inputText, et trouver le moyen, que je ne connais pas encore, d'entrer ces input directement dans ma List.

    Donc, j'aurai souhaité savoir s'il y a un moyen de faire ça proprement, avec ma méthode ou à l'aide d'un composant que je n'ai pas remarqué, ou si je vais me retrouver à gerer un tableau statique d'une longueur fixée au nombre max de valeurs possible et de rentrer mes inputText case par case ?

    Merci d'avance
    Venez partager vos expériences au sein d'un projet sur slicesofit, agile & amélioration continue

  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
    si il y'a beaucoup de valeurs, ce n'est pas ergonomique de mettre plusieurs champs inputText..
    ce que tu peux faire, c'est un seul champs et un boutton ou un lien ajax, et à chaque clic, tu ajoute la valeur à la liste et tu peux également afficher la liste saisie avec possibilité de suppression d'un élément si l'utilisateur s'est trompé..

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut
    Demande du client, en tant que dev, j'ai pas mon mot à dire.

    L'idée c'est d'avoir une sorte de tableau à la excel, sans avoir à valider la case à chaque valeur. (il y a plusieurs listes de valeurs)
    Venez partager vos expériences au sein d'un projet sur slicesofit, agile & amélioration continue

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 92
    Points : 108
    Points
    108
    Par défaut
    Tu pourrais utiliser une DataTable pour l'édition de ta collection de valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <h:form>
      <h:dataTable value="#{testBean.myDataList}"  var="item">
        <h:column>
          <f:facet name="header">
          <h:outputText value="Valeur 1" />
          </f:facet>
          <h:inputText value="#{item.value1}" />
        </h:column>
      </h:dataTable>
      <h:commandButton actionListener="#{testBean.process}" value="Go !"/>
    </h:form>

  5. #5
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut
    Ben ça me dérange un peu, c'est justement la méthode bourrin que je souhaitais éviter : avoir 50 champs dans ma form plutot qu'une liste.

    Il y a pas un composant qui mappe une série d'input vers une List ?
    Venez partager vos expériences au sein d'un projet sur slicesofit, agile & amélioration continue

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 92
    Points : 108
    Points
    108
    Par défaut
    si tu veux un seul composant d'édition, alors tu peux utiliser un h:inputTextarea que tu mappes sur un champ String qu'il faudra décoder en n saisies dans ton backing bean par détection de chaque ligne

  7. #7
    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
    je pense qu'il ne faut pas chercher le composant qui va faire exactement ce que tu veux pour n'avoir qu'à récupérer la liste en java.
    tu utilise quelles librairie de composants?

    avec richfaces, comme je t'ai expliqué ci dessous, tu n'a pas à afficher 36 000 champs text, juste un seul et en ajax tu ajoutes la valeur saisie dans la liste..

  8. #8
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut
    Encore une fois : demande du client, pas mon mot à dire.

    Ils veulent un tableau à la excel avec chaque colonne correspondant à une liste de valeurs.

    Au lieu d'avoir un tableau statique et pour chaque input avoir un truc du genre #{montableau[i]} ce qui n'est pas très malin, j'aurai souhaité savoir s'il existait un moyen de faire ça plus simplement.

    Les frameworks permettent d'afficher une série d'éléments à partir d'une liste, je me dis qu'il y a probablement un composant qui permet de faire l'inverse : remplir une liste à partir d'une série d'éléments.

    Enfin bon, je vais probablement finir par me taper le tableau statique.
    Venez partager vos expériences au sein d'un projet sur slicesofit, agile & amélioration continue

  9. #9
    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
    alors pourquoi pas tester la proposition de ohanny, peut ressembler à un tableau excel, avec des inputs à l'intérieur, ou des inplaceInput
    si tu cherches un composant qui ressemble à Excel et qui prend une liste en value..ça n'existe pas..

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/08/2009, 11h59
  2. recherche de la valeur maximum dans une série de cellules
    Par Lechette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/04/2008, 08h33
  3. Réponses: 1
    Dernier message: 16/05/2007, 12h51
  4. Donner à une feuille la valeur contenue dans une cellule ?
    Par emilie_pons_2005 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/09/2006, 12h32
  5. Réponses: 3
    Dernier message: 13/06/2006, 16h36

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