В компоненте <p:dataTable>
зарегистрировано много ошибок Primefaces, поэтому я не буду искать их все.
Однако я знаю, что с Primefaces 2.2.1 есть открытая ошибка, утверждающая, что компоненты в строке <p:dataTable>
не будут корректно обновлять (обновлять) соответствующие значения в dataTable. Эта проблема МОЖЕТ быть исправлена в Primefaces 3.0. Если вы заинтересованы, вы можете искать известные ошибки здесь .
К счастью, я нашел обходной путь для этого. Необходимо выполнить асинхронную операцию с компонентом OUTSIDE <p:dataTable>
и убедиться, что компонент устанавливает идентификатор dataTable в его атрибуте update
.
<h:form id="form1">
<p:commandButton widgetVar="updateButton" update="form1:table1" ... />
<p:dataTable id="table1" ...>
<p:column ...>
<p:commandButton id="deleteButton" action="#{managedBean.doDelete}" oncomplete="javascriptFunction();" ... />
</p:column>
</p:dataTable>
</h:form>
И в JavaScript:
function javascriptFunction() {
updateButton.jq.click();
}