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 :

comment récuperer les valeurs des lignes d'un DataTable aprés modification?


Sujet :

JSF Java

  1. #1
    Membre régulier Avatar de Iori Yagami
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 107
    Points : 88
    Points
    88
    Par défaut comment récuperer les valeurs des lignes d'un DataTable aprés modification?
    Bonsoir,
    J'ai un dataTable alimenté par une List<Object>.
    Ce dataTable est utilisé pour affichage et modification.
    Pour la modification, je veux qu'il y ait juste un seul bouton de mise a jour pour toute la table (et non pas un bouton pour chaque ligne)
    donc mon probleme est, : qu'est ce que je fait quand le user clique sur le bouton de la mise à jour? comment faire pour récuperer les données de cette table?
    Merci

    voici un exemple pour mieux comprendre :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    <h:dataTable value="#{mark.all}" var="item">
    				<h:column>
    					<f:facet name="header">
    						<h:outputLabel value="Matière" for="" />
    					</f:facet>
    					<h:outputLabel value="#{item.subject.name}" for="matiere" />
    				</h:column>
     
    				<h:column>
    					<f:facet name="header">
    						<h:outputLabel value="DS" id="ds" />
    					</f:facet>
    					<h:inputText value="#{item.ds}" />
    				</h:column>
     
    				<h:column>
    					<f:facet name="header">
    						<h:outputLabel value="TP" id="tp" />
    					</f:facet>
    					<h:inputText value="#{item.tp}" />
    				</h:column>
     
    				<h:column>
    					<f:facet name="header">
    						<h:outputLabel value="Examen" id="examen" />
    					</f:facet>
    					<h:inputText value="#{item.examen}" />
    				</h:column>
     
    				<h:column>
    					<f:facet name="header">
    						<h:outputLabel value="Moyenne" for="" />
    					</f:facet>
    					<h:outputLabel value="#{(item.ds + item.tp + item.examen) / 3}"
    						for="" />
    				</h:column>
    			</h:dataTable>
     
    <h:panelGrid columns="2" >
    					<h:column>
    						<h:form><h:commandButton action="index" value="Retourner" /></h:form>
    					</h:column>
    					<h:column>
    						<h:form><h:commandButton action="#{mark.update}" value="Update" /></h:form>
    					</h:column>
     
    				</h:panelGrid>
    la methode "mark.update" est encore vide, je ne sais quoi faire pour récuperer les données. Je croyais que je les trouverai dans la liste "all" (utilisé dans l'affichage) mais y avait rien :s

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    au moment de l'action, tous les items de la liste mark.all auront déjà été mis à jour avec les données présente dans le formulaire. Par contre, jsf n va pas remplir lui même la liste. C'est à toi de garantir que la liste sera présente au moment où jsf en aura besoin. Tu dois donc garantir, lors du apply request value, que la list sera exactement la même que celle qui a été utilisée lors du rendu précédent. La méthode la plus simple consistant à mettre #{mark} en session scope.

    Dans tous les cas, si #{mark.all} est vide, c'est parce que tu ne l'a pas créé.

  3. #3
    Membre régulier Avatar de Iori Yagami
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 107
    Points : 88
    Points
    88
    Par défaut
    merci Tchize pour ta réponse,
    j'ai changé le bean scope en Session
    Je crois que ça a marché merci

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

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Citation Envoyé par Iori Yagami Voir le message
    Je crois que ça a marché merci
    Dans ce cas, !
    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 régulier Avatar de Iori Yagami
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 107
    Points : 88
    Points
    88
    Par défaut
    oui c'est vrai, j'ai oublié :p

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut question
    je suis débutant avec seam et j'ai le même problème, je veux mettre à jour ma table à partir des champs renseigner dans la table, vraiment je n'ai pas compris exactement la solution proposée

    peux tu mettre le code qui permet de faire l'update de la datatable

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

Discussions similaires

  1. Gridview: Comment récupérer les valeurs des deux clés?
    Par Thomas_Laurent dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/02/2007, 14h54
  2. Réponses: 2
    Dernier message: 11/12/2006, 12h38
  3. Comment changer les couleurs des lignes avec displaytag
    Par rlnd23 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/10/2006, 13h52
  4. [Hibernate] Comment ramener les valeurs des tables de ref ?
    Par PamelaGeek dans le forum Hibernate
    Réponses: 9
    Dernier message: 07/02/2006, 23h52
  5. Comment dééfinir les valeurs des abscisses en Time ?
    Par marsupilami34 dans le forum Langage
    Réponses: 1
    Dernier message: 29/09/2005, 15h50

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