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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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
<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 : 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
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;
	}