PF 3.5.10, Mojarra 2.1.21, JBoss 7.1.1, PE 7.1, Omnifaces 1.5
Я хочу использовать редактирование строк с данными в p:Dialog. У меня есть таблица данных с редактированием строки в диалоговом окне. (Витрина: http://www.primefaces.org/showcase/ui/datatableRowEditing.jsf) Если я нажму «ОК» в диалоговом окне, изменения должны быть сохранены, а если я нажму «Отмена», изменения будут отклонены. Если активировано редактирование строки для строки и я могу изменить значения в строке, а затем нажимаю «ОК» в диалоговом окне, активные изменения в строке будут потеряны. Как я могу получить фактический статус редактирования? Как я могу узнать, редактируется ли в настоящее время строка в таблице данных? Если я знаю, что могу предупредить пользователя, что изменения будут потеряны.
Изменить: ссылка на источники PF Grepcode: источники PF isEditingRow()
<p:dialog>
<h:form>
<p:tabView cache="false" id=.. binding=..>
<p:tab>
<p:dataTable binding=.. id=... widgetVar=... var=.. >
</p:dataTable>
</p:tab>
</p:tabView>
<p:commandButton process="@form" action="myBean.listener()" value="OK" update="@form"
onstart="anotherTable.filter()" />
</h:form>
</p:dialog>
Изменить: я принял ответ, потому что сам реализовал необходимую функцию.
process="@form"
, что означает, что частичная отправка обработает все в вашей форме. Что вам нужно, так этоprocess="@this"
(вероятно, и для обновления), который не будет возиться с редактором строк. Теперь посмотрите, получится ли вmyBean.listener()
другой результат для.isEditingRow()
. 30.07.2013