[ICE Faces]Pas de rafraichissement de inputText
Bonjour,
J'ai dans un dataTable des informations. A côté, j'ai des inputText qui, quand on clique sur une ligne du dataTable, doivent se remplir avec les données de la ligne sélectionnée.
Or, ça ne fonctionne pas.
le code du dataTable et des inputText :
Code:
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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
<!--
=============== Ressources Airod, onglet Client ===============
-->
<ice:panelGrid columns="2" styleClass="tableau, nouvelleRessource" >
<ice:panelGroup>
<!-- Entreprises client -->
<ice:commandButton value="Modifier" styleClass="modifierRessource" />
<ice:panelGroup styleClass="listeRessource">
<ice:dataTable value="#{clients.listeClients}" var="clientsAirod"
columnClasses="nomClient, referenceClient, emailClient, telephoneClient" >
<ice:column id="nomClient">
<ice:rowSelector value="#{clientsAirod.selectionnee}" selectionListener="#{clients.rowSelectionListener}"/>
<f:facet name="header">
<ice:outputText value="Nom" />
</f:facet>
<ice:outputText value="#{clientsAirod.nom}"/>
</ice:column>
<ice:column id="referenceClient">
<f:facet name="header">
<ice:outputText value="Référence"/>
</f:facet>
<ice:outputText value="#{clientsAirod.reference}"/>
</ice:column>
<ice:column id="emailClient">
<f:facet name="header">
<ice:outputText value="E-mail" />
</f:facet>
<ice:outputText value="#{clientsAirod.mail}"/>
</ice:column>
<ice:column id="telephoneClient">
<f:facet name="header">
<ice:outputText value="Téléphone"/>
</f:facet>
<ice:outputText value="#{clientsAirod.telephone}"/>
</ice:column>
</ice:dataTable >
</ice:panelGroup>
</ice:panelGroup>
<ice:panelGroup styleClass="detailRessource">
<!-- Détail entreprise -->
<ice:commandButton value="Ajouter" />
<ice:commandButton value="Valider" styleClass="ressourcesBoutonValider"/>
<ice:commandButton value="Annuler" styleClass="ressourcesBoutonAnnuler" />
<ice:panelGrid columns="2">
<ice:outputText value="Nom :" />
<ice:inputText id="nomClientSelectionneInput" value="#{clients.nomClientSelectionne}" styleClass="ressourcesLargeurInputText" />
<ice:outputText value="Référence :" />
<ice:inputText value="#{clients.referenceClientSelectionne}" styleClass="ressourcesLargeurInputText" />
<ice:outputText value="N° de référencement :" />
<ice:inputText value="#{clients.refAirodClientSelectionne}" styleClass="ressourcesLargeurInputText" />
<ice:outputText value="Adresse :" />
<ice:inputText value="#{clients.adresseClientSelectionne}" styleClass="ressourcesLargeurInputText" />
<ice:outputText value="Adresse de facturation :" />
<ice:inputText value="#{clients.adresseFacturationClientSelectionne}" styleClass="ressourcesLargeurInputText" />
<ice:outputText value="Adresse de livraison :" />
<ice:inputText value="#{clients.adresseLivraisonClientSelectionne}" styleClass="ressourcesLargeurInputText" />
<ice:outputText value="Téléphone :" />
<ice:inputText value="#{clients.telephoneClientSelectionne}" styleClass="ressourcesLargeurInputText" />
<ice:outputText value="E-mail :" />
<ice:inputText value="#{clients.mailClientSelectionne}" styleClass="ressourcesLargeurInputText" />
<ice:outputText value="Condition de paiement :" />
<ice:inputText value="#{clients.conditionPaiementClientSelectionne}" styleClass="ressourcesLargeurInputText" />
</ice:panelGrid>
</ice:panelGroup>
</ice:panelGrid> |
le code précédent est une page incluse dans la page suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<ice:form id="ressourcesForm" styleClass="ongletsRessources">
<ice:panelTabSet >
<!--
=============== Clients ===============
-->
<ice:panelTab label="Clients">
<ui:include src="/pages/ressources/ressourcesClient.jspx" />
</ice:panelTabSet>
</ice:form> |
Et voilà enfin comment je rafraichi les input text :
Code:
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
|
public void rowSelectionListener(RowSelectorEvent event){
//parcourir la liste des clients et voir lequel est sélectionné pour mettre à jour les champs
for(PresentationClient clientCourant : this.listeClients){
if(clientCourant.isSelectionnee()){
Clients clientSelectionne = this.clientsManager.getClient(clientCourant.numentreprise);
this.adresseClientSelectionne = clientSelectionne.getAdresse();
this.adresseFacturationClientSelectionne = clientSelectionne.getAdresseFacturation();
this.adresseLivraisonClientSelectionne = clientSelectionne.getAdresseLivraison();
this.conditionPaiementClientSelectionne = clientSelectionne.getConditionPaiement();
this.mailClientSelectionne = clientSelectionne.getMail();
this.nomClientSelectionne = clientSelectionne.getNom();
this.refAirodClientSelectionne = clientSelectionne.getReferenceClient();
this.referenceClientSelectionne = clientSelectionne.getNumEntrepriseClient();
this.telephoneClientSelectionne = clientSelectionne.getTelephones();
break;
}
}
UIInput inputTextFullName = (UIInput)FacesContext.getCurrentInstance().getViewRoot().findComponent("nomClientSelectionneInput:nomClientSelectionneInput");
if ( inputTextFullName != null )
{
inputTextFullName.setValue(this.nomClientSelectionne);
inputTextFullName.setSubmittedValue(null);
}
else{
System.out.println("inputTextFullName null");
}
} |
Le souci vient du fait que inputTextFullName est null. Autrement dit je ne le récupère pas. Pourtant j'ai regardé des post (notement sur ce forum) et c'est comme ça qu'ils faisaient.
Quelqu'un a t il une solution ?
En vous remerciant,
Nicolas