У меня есть ajax слушателей в моем PrimeFaces (7.0) DataTable:
<p:ajax event="rowEditInit" listener="#{editKey.onRowEditInit(event, key)}"/>
<p:ajax event="rowEdit" listener="#{editKey.onRowEdit(event, key)}"/>
Я использую onRowEditInit
в моем бине, чтобы сохранить начальное значение строки в oldKey
, когда она находится в редактировании режим, который работает нормально.
private KeyManagementKeys oldKey;
public void onRowEditInit(RowEditEvent event, KeyManagementKeys key) {
oldKey = key;
}
public void onRowEdit(RowEditEvent event, KeyManagementKeys newkey) {
keylistService.updateKey(newkey, oldKey);
}
Проблема в том, что oldKey
обновляется до отредактированных значений при редактировании строки в пользовательском интерфейсе. Таким образом, к моменту вызова onRowEdit
для завершения редактирования newKey
и oldKey
имеют одно и то же значение.
Как предотвратить автоматическое обновление значения c любой переменной с таким же типом как значения DataTable (KeyManagementKeys
)? Любая помощь с благодарностью!