Bonjour,

J'ai une DataTable avec PrimeFaces, sur la quelle j'applique un incell editing mais la modification ne prends pas. C'est toujours la valeur initiale qui est récupérée. Avec la même logique, le reste des DataTables est bon sur ce coté à part deux dont en voilà une :

xhtml :
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
<h:form id="form">
 
    <p:growl id="messages" showDetail="true" />
    <p:dataTable var="car" value="#{QuestionBean.listQuestion}"
        id="carList" editable="true">
        <p:ajax event="rowEdit" update="@this" listener="#{QuestionBean.rowEditListener}" />
        <f:facet name="header">  
            Liste des questions  
        </f:facet>
 
    <p:column headerText="Text de la question">
        <p:cellEditor>
            <f:facet name="output"><h:outputText value="#{car.text}" /></f:facet>
            <f:facet name="input"><p:inputText value="#{car.text}" /></f:facet>
        </p:cellEditor>
    </p:column>
 
    <p:column headerText="Modifier">
    <p:rowEditor/>
    </p:column>
 
    <p:column id="Sup">
        <f:facet name="header">
            <h:outputText value=" " />
        </f:facet>
        <p:commandButton action="#{QuestionBean.delete}" update=":form"
            id="iconOnly" icon="ui-icon-closethick" title="Icon Only">
            <f:setPropertyActionListener value="#{car.id}"
                target="#{QuestionBean.id}" />
        </p:commandButton>
    </p:column>
 
    </p:dataTable>
</h:form>
Fonction rowEditListener
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
    public void rowEditListener(RowEditEvent ev) {
 
        try {
 
            Question q = (Question) ev.getObject();
            System.out.println("nouveau text equals "+q.getText());
            resp.update(q);
            init();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
System.out.println("nouveau text equals "+q.getText()); affiche toujours l'ancienne valeur.

Quelqu'un saurait-il m'expliquer d'où peut venir le problème ?

Merci d'avance pour votre aide.