Bonjour,

Dans mon projet, j'utilise un composant p:inputMask que j'ai mis dans un p:dataTable avec l'attribut editMode="cell". J'utilise p:ajax pour faire des contrôles perso sur les valeurs saisies. avec le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<p:ajax event="cellEdit" process="@this" listener="#{myBean.onCellEdit}" update=":form:msgs" />
Là où il ya mon composant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<p:column style="align: center;width:200px" headerText="FROM">
	<p:cellEditor>
		<f:facet name="output">
			<h:outputText value="#{msisdnPlage.msisdnFrom}" />
		</f:facet>
		<f:facet name="input">
			<p:inputMask id="modelInput"  value="#{variable.val}" styleClass="modelInput" style="width:96%" mask="21699999999">
 
			</p:inputMask>
		</f:facet>
	</p:cellEditor>
</p:column>
Lorsque j'entre une valeur qui ne respecte pas le mask et que je tape sur la touche ENTREE, la valeur est envoyé au serveur et je peux quand même la traîter. Par contre si, je clique à l'exterieur au lieu de taper sur l'ENTREE, la valeur saisie disparaît. Je cherche à reproduire l'effet provoqué par "l'ENTREE" mais lors d'un click à l'extérieur (le composant est en train de perdre le focus).

J'ai d'abord essayé d'utilisé p:ajax, mais ça ne fait le fait pas (Je ne peux pas affecté un listener à une methode prenant en paramètre un CellEditEvent). Quelqu'un aurait-il une solution ?

Merci,