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 :

Récuperer valeur dans une dataTable


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Par défaut Récuperer valeur dans une dataTable
    Bonjour à tous,
    J'ai un souci, je souhaiterais récupérer la valeur d'une dataTable, en particulier la valeur de 'industryName1' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <hx:dataTableEx id="industryCollection1" value="#{pc_DcMyDemosAddOther.demo.industryCollection}" var="varindustryCollection" styleClass="dataTableEx"
    headerClass="headerClass" footerClass="footerClass"
    rowClasses="rowClass1, rowClass2" columnClasses="columnClass1"
    border="0" cellpadding="2" cellspacing="0">
    	<hx:columnEx id="industryName1column">
    		<h:selectOneMenu styleClass="inputText" id="industryName1" value="#{varindustryCollection.industryId}">
    				<f:selectItems value="#{pc_AddDemo.listAllIndustries}"id="selectItems10" />
    		</h:selectOneMenu>
    	</hx:columnEx>
    </hx:dataTableEx>
    <
    Je pensais qu'avec qlq chose de type (avec l'id complet....)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UIComponent monComponent = (UIComponent) FacesContext
    		.getCurrentInstance().getViewRoot().findComponent(
    				"industryName1");
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HtmlSelectOneMenu industryValue = (HtmlSelectOneMenu) FacesContext.getCurrentInstance().getViewRoot().findComponent("viewFragment1:form1:industryCollection1:0:industryName1");

    mais ca ne marche pas ? J'ai tjs "null" comme valeur

    Si vous avez une idée, je suis preneur !
    Merci d'avance !

  2. #2
    Membre confirmé Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Par défaut
    Personne pour m'aider ?

  3. #3
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    le composant a pour nom

    viewFragment1:form1:industryCollection1:industryName1

    pas

    viewFragment1:form1:industryCollection1:0:industryName1


    les noms avec xx pour les entrées de la datatable n'existent que coté HTML. Coté JSF, il n'y a pas de multiples composant. Pour récupérer la valeur actuelle du composant, il faut déjà que la datatable soit dans l'itération correspondant à la ligne que vous cherchez. Via UIData.setRowIndex()

  4. #4
    Membre confirmé Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Par défaut
    Citation Envoyé par tchize_ Voir le message

    Via UIData.setRowIndex()
    C'est à dire...?

    Je dois récuperer ma dataTable, faire un iterator dessus et récuperer ma ligne...

    Quelque chose de ce style ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    HtmlDataTableEx dataTableIndustry = getIndustryCollection1();
     
    for (Iterator i = dataTableIndustry.getChildren().iterator(); i.hasNext(); )
    {
    UIComponent componant = (UIComponent) i.next();
     
     
    }
    Mais je ne vois pas comment tu récupère le valeur de ton champs sélectionné !

  5. #5
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu dois faire :

    un findComponent pour récupérer databable, ça va te retourner un objet de type HTMLDataTable, qui étends UIData.

    tu appelle la méthode setRowIndex dessus (pour placer tous ses composants fils dans l'état correspondant à la ligne indiquée).

    Tu fais un findComponent sur le composant que tu cherche

    tu récupère les données dont tu as besoin dedans

    tu refais un setRowIndex pour le remettre à l'état où il était (sous peine de tout mélanger)


    Par contre, j'ai du mal a comprendre pourquoi tu as besoin d'accéder à un composant au lieu d'utiliser un bean sur lequel la valeur du composant serait mappée, ce serait bien plus simple.

  6. #6
    Membre confirmé Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    tu dois faire :

    Par contre, j'ai du mal a comprendre pourquoi tu as besoin d'accéder à un composant au lieu d'utiliser un bean sur lequel la valeur du composant serait mappée, ce serait bien plus simple.
    Cad ?

    En fait, j'ai besoin de récupérer ce composant pour faire un update des infos du form en base !

    T'aurais un exemple sur cela ou un bon tutoriel car ayant découvert JSF depuis peu.....je ne maîtrise pas encore !

Discussions similaires

  1. Récuperer valeur dans une source
    Par ponpon17430 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/10/2007, 16h55
  2. [JSP][spring] récuperation d une valeur dans une BDD
    Par iftolotfi dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 24/06/2006, 15h39
  3. Récuperer valeurs d'une checkbox dans la base Mysql
    Par pod1978 dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 10/03/2006, 14h29
  4. [C#] Modifier une valeur dans une DataTable
    Par Scorff dans le forum ASP.NET
    Réponses: 2
    Dernier message: 23/05/2005, 10h45

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