I think the title tells it all: I want to add a row to dataTable over AJAX. The datatable has input fields where user can put text. As simple as that, a pretty common case.
With session-scoped bean this no issue, as the same bean is updated over and over again. However, I want to do this in request scope. For each request, I guess I want to create a new bean and to populate it with the values from my form. Then I want my commandButton
's action
to add a new row, finally render the dataTable
over AJAX as usual.
The issue is that I don't know how to make JSF fill the newly-created request-bean with the current data from the dataTable component?
There was a similar question asked and answered. However, that solution seems to reload the contents of the dataTable each time it is refreshed and manually inserts empty elements for the newly-inserted rows like this:
// Preserve list with newly added items.
ror (int i = 0; i < (Integer) count.getValue(); i++) {
list.add(new Item());
}
To me, it seems that this approach also wipes the possible changes that the user did to rows (new and old)... if he doesn't first save them.
Any pointers?