Я думаю, что заголовок говорит обо всем: я хочу добавить строку в dataTable поверх AJAX.У таблицы данных есть поля ввода, в которые пользователь может поместить текст.Очень просто, довольно распространенный случай.
С компонентом в сессионной области это не проблема, так как один и тот же компонент обновляется снова и снова.Тем не менее, я хочу сделать это в объеме запроса.Я предполагаю, что для каждого запроса я хочу создать новый компонент и заполнить его значениями из моей формы.Затем я хочу, чтобы мои commandButton
action
добавили новую строку, и, наконец, отрисовали dataTable
поверх AJAX как обычно.
Проблема в том, что я не знаю, как заставить JSF заполнятьНедавно созданный объект запроса с текущими данными из компонента dataTable?
Был аналогичный вопрос задан и ответил .Однако это решение, кажется, перезагружает содержимое dataTable каждый раз, когда он обновляется, и вручную вставляет пустые элементы для вновь вставленных строк, например:
// Preserve list with newly added items.
ror (int i = 0; i < (Integer) count.getValue(); i++) {
list.add(new Item());
}
Мне кажется, что этот подход также стираетвозможные изменения, которые пользователь внес в строки (новые и старые) ... если он сначала не сохранит их.
Какие-нибудь указатели?