1
votes

I'm using Mojarra 2.0.3 on Tomcat 6.0 with Primefaces 2.

I got a dataTable and want to make it incell-editable. Everything works fine, but my rowEditListener with the parameter "RowEditEvent event" returns no new object.

public void onEditRow(RowEditEvent event) {
    Nutzer nutzer = (Nutzer) event.getObject(); // Get object from event
    System.out.println(nutzer.toString()); // This prints the OLD data,
                                           // not the data I wrote into the form
    nutzerManager.editNutzer(nutzer);      // Write into the database
}

The managed bean is in session scope. Why does the listener only receive the old data, not the data I wrote into the incell-formular?

Hope, you can help me.

Greets from germany, Andy

1

1 Answers

2
votes

I found the mistake.

The getter for the tabledata loaded the data everytime out of the database.

private List<Nutzer> nutzerList;

public List<Nutzer> getNutzerList() {
    nutzerList = nutzerManager.getNutzer();
    return this.nutzerList;
}

This version is working:

private List nutzerList;

public List<Nutzer> getNutzerList() {
    if(nutzerList == null)
        nutzerList = nutzerManager.getNutzer();
    return this.nutzerList;
}