Bonjour,

J'ai une table éditable en mode cellule. J'ai également un rowStyleClass qui colore ou non une ligne en fonction d'un boolean.
Tout fonctionne très bien lorsque j'affiche les données.

Par contre, j'aimerais que, quand je modifie le boolean d'une ligne, celle-ci se colore ou décolore directement après la modification, sans devoir recharger la liste.
Voici ma table en question :
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
 
<p:dataTable id="heures" value="#{controleHeuresMandatForm.listHeures}"
				widgetVar="heureTable"
				var="heure"
				rowStyleClass="#{heure.tarifTemps ? 'rowColorOrange' : null}"
				rowKey="#{heure.id}"
				editable="true" editMode="cell"
				emptyMessage="#{msg['AucuneSaisieAAfficher']} - #{msg['AvezVousBienRenseigneLesChampsDeRecherche']}" > 
 
				<p:ajax event="cellEdit" listener="#{controleHeuresMandatForm.enregistrerModification}" update="controleHeuresMandatForm:heures" />
 
				<p:column headerText="#{msg['Description']}" style="width:20%">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{heure.description}" />
						</f:facet>
						<f:facet name="input">
							<p:inputText value="#{heure.description}" style="width:96%"
								label="Description" />
						</f:facet>
					</p:cellEditor>
				</p:column>
 
		   		<p:column headerText="#{msg['AbregeTarifTemps']}" styleClass="columnCenter" style="width:3%">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{heure.typeTarifTempsCi.nom}" />
						</f:facet>
						<f:facet name="input">
							<p:selectOneMenu id="tarifTemps" required="true" value="#{heure.typeTarifTempsCi}" style="width:40px" >
								<f:selectItems value="#{controleHeuresMandatForm.listTypeTarifTemps}" />
								<p:ajax event="blur" update="@this" />
							</p:selectOneMenu>
						</f:facet>
					</p:cellEditor> 
				</p:column>
			</p:dataTable>
Et la méthode d'enregistrement :
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
 
public void enregistrerModification(CellEditEvent event) {
		try {
			DataTable table = (DataTable) event.getSource();
			Heure heure = (Heure) table.getRowData();
 
			if (heure.getMandat() != null && heure.getDate() != null) {
				if (CollectionUtils.isNotEmpty(heure.getMandat().getListMandatIdentite()) && heure.getMandat().getListMandatIdentite().size() == 1) {
					heure.setMaitreOuvrage(heure.getMandat().getListMandatIdentite().get(0).getIdentite());
				}
 
				heure.setTarifTemps(TypeValeurBooleanCi.OUI == heure.getTypeTarifTempsCi());
 
				m_heureService.saveHeure(heure);
 
				// Calcul les totaux d'heures
				calculerTotauxHeures(heure);
			} else {
				FacesContext.getCurrentInstance().addMessage(
						null,
						new FacesMessage(FacesMessage.SEVERITY_ERROR, Messages
								.getMessage("MandatEstObligatoire", null)
								.getDetail(), ""));
			}
 
			chargerListeHeures();
		} catch (Exception e) {
			FacesContext.getCurrentInstance().addMessage(
					null,
					new FacesMessage(FacesMessage.SEVERITY_ERROR, Messages
							.getMessage("ImpossibleDEnregistrerLaSaisie", null)
							.getDetail()
							+ " : ", ""));
 
			FacesContext.getCurrentInstance().addMessage(
					null,
					new FacesMessage(FacesMessage.SEVERITY_ERROR, e.getCause()
							.getMessage(), ""));
		}
	}
Je fais bien un update de la table dans l'event cellEdit, mais rien ne se passe.
J'ai également essayé de mettre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Ajax.update("controleHeuresMandatForm:heures");
à la fin de ma méthode d'enregistrement mais sans succès.

Qqun a-t-il une idée ?
Merci pour votre aide