PrimeFaces Tabelle mit Daten In einer Zelle Bearbeiten : ich kann nicht das bearbeitete Objekt

Ich experimentiere mit DataTable - Zelle Bearbeiten, wie gezeigt, im PrimeFaces showcase. Ich habe geändert, die Facelets-code als Folge dieser Frage: primefaces in-cell-Bearbeiten nicht aktualisieren von Daten in Datenbank, weil die <p:ajax event="cellEdit"> nicht, aktualisieren Sie die gesamte Tabelle mit Daten.

<h:form id="form">            
    <p:outputPanel id="testContainer" deferred="true">   
        <p:growl id="messages" showDetail="true" />  
        <p:remoteCommand name="onCellEdit" action="#{articlesbean.onCellEdit()}" update=":form:messages" />
        <p:dataTable id="cars" var="car" value="#{articlesbean.LMatpilotaccess1}" editable="true" editMode="cell" widgetVar="carsTable" update=":cars">  
            <p:ajax event="cellEdit" oncomplete="onCellEdit()"  /> 
            ...
        </p:dataTable>  
    </p:outputPanel> 
</h:form>

Remote Befehl Aktion-Methode ist definiert wie folgt:

public void onCellEdit(CellEditEvent event) {  
    Object oldValue = event.getOldValue();  
    Object newValue = event.getNewValue();  

    if(newValue != null && !newValue.equals(oldValue)) {  
        FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Cell Changed", "Old: " + oldValue + ", New:" + newValue);  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }  
}  

Jedoch, diese Methode wird nie aufgerufen, und die folgende Ausnahme ausgelöst:

javax.el.MethodNotFoundException: Method not found: com.pfe.controller.ArticlesBean@1bb3a11.onCellEdit()

Wenn ich entfernen Sie die CellEditEvent argument, dann funktioniert es. Aber ich brauche den alten und den neuen Wert. Wie kann ich Vorgehen?

InformationsquelleAutor Bellil Med Samouel | 2013-11-17

Schreibe einen Kommentar