Editer un contact a partir d'un dataTable
Bonjour
Je suis entrain de développer une application web pour mon PFE,
et j'ai rencontré ce probleme:
J'ai faits un richdataTable, et je veux editer la ligne sélectionné, mais ça marche pas.
ça me faits pas la mise à jour et ne me rends aucune erreur :(
voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <rich:dataTable value="#{jortControl.listJortss}" var="list">
//liste de mes colonnes de données
// puis la colonne contenant mon bouton d'Edit
<rich:column>
<a4j:commandButton image="/img/edit.png" ajaxSingle="true"
oncomplete="#{rich:component('monPanelEdit')}.show();" reRender="contactInfo">
<f:setPropertyActionListener value="#{list}"
target="#{monControl.selectedContact}" />
</a4j:commandButton>
</rich:column>
</rich:dataTable> |
Dans mon panel d'edit, je reçoit bien mes données relatifs à la ligne sélectionnée:
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
| <rich:modalPanel id="monPanelEdit">
<f:facet name="header">
<h:outputText value="Edition contact"/>
</f:facet>
<rich:graphValidator>
<h:panelGrid id="contactInfo" columns="2">
<h:outputText id="numero" value="Numero" />
<h:inputText value="#{monControl.selectedContact.num}" />
<h:outputText id="date" value="Date naissance" />
<rich:calendar value="#{monControl.selectedContact.dateNai}"
required="true" enableManualInput="false" locale="fr-Fr"
datePattern="dd/MM/yyyy" showApplyButton="true" popup="true">
</rich:calendar>
<h:outputText id="prenom" value="prenom" />
<h:inputText value="#{monControl.selectedContact.prenom}" />
</h:panelGrid>
</rich:graphValidator>
<br><br>
<rich:toolBar>
<rich:toolBarGroup>
<a4j:commandLink
onclick="#{rich:component('monPanelEdit')}.hide();return false">
Fermer
</a4j:commandLink>
<a4j:commandLink reRender="contactInfo" action="#{monControl.updateContact}"
oncomplete="#{rich:component('monPanelEdit')}.hide();return false" >
Appliquer
</a4j:commandLink>
</rich:toolBarGroup>
</rich:toolBar>
</rich:modalPanel> |
monControler.java:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| ContactDAORemote contact=new ContactDAORemote();
public void updateContact(){
try {
context = new InitialContext();
contact = (ContactDAORemote) context.lookup("ContactDAO/remote");
contact.updateContact(getSelectedContact());
} catch (NamingException e) {
e.printStackTrace();
}
}
Mon contactDAO:
public Contact updateCort(final Contact contact) {
em.merge(contact);
return contact;
} |