В моем приложении я использую <p:inline>
компонент <p:dataTable>
PrimeFaces для реализации функции обновления следующим образом:
<p:dataTable var="m" value="#{mrBean.menu}">
<p:column headerText="Name" >
<p:inplace editor="true" >
<p:ajax event="save" listener="#{mrBean.changeName}" update="button" />
<p:inputText value="#{m.name}" />
</p:inplace>
</p:column>
</p:dataTable>
<p:commandButton id="button" value="Confirm" actionListener="#{mrBean.confirm}"
disabled="#{not mrBean.canConfirm}"/>
И это мой Managedbean:
@ManagedBean(name = "mrBean")
@ViewScoped
public class MrBean {
private List<Meal> menu;
private boolean canConfirm;
public void changeName() {
this.canConfirm = true;
}
public void confirm() {
System.out.println("Updated database!");
}
}
КогдаЯ закончил редактирование name
и нажал «Сохранить», моя кнопка «Ешь» не была включена.
Буду очень признателен, если вы покажете мне, что я сделал не так.Я использую PrimeFaces 3.0.RC2.