Bom dia a todos,
Estou enfrentando o seguinte problema, quando eu acabo de incluir um usuário e depois tento remover outro usuário ele está removendo não o usuário que eu selecionei mais sim o ultimo usúario incluso, ou me parece o ultimo usuário da lista.
Segue os codigos.
<p:column>
<p:commandButton id="showDialogButton" onclick="confirmation.show()" value="Remover" type="button"/>
<p:confirmDialog id="confirmDialog" message="Tem certeza que deseja remover o usuário?"
header="Remover Usuáio" severity="alert" widgetVar="confirmation">
<p:commandButton id="confirm" value="Sim" update="messages" oncomplete="confirmation.hide()"
action="#{perfilUsuarioBean.remove(perfilUsuario)}" />
<p:commandButton id="decline" value="Não" onclick="confirmation.hide()" type="button" />
</p:confirmDialog>
</p:column>
public void remove(PerfilUsuario perfilUsuario){
DAO<PerfilUsuario> dao = new DAO<PerfilUsuario>(PerfilUsuario.class);
dao.remove(perfilUsuario);
this.perfilUsuarios = dao.listaTodos();
}
Mais no primefaces ele faz com o actionListener eu não sei bem a diferença entre eles mais quando eu tento remover com o actionListener ele da um erro informando que não conseguiu encontrar o metodo.
Method not found: [email removido](br.com.sisapropriacao.modelo.PerfilUsuario)
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:225)
at org.apache.el.parser.AstValue.invoke(AstValue.java:251)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
Segue o metodo utilizando o ActionEvent:
public void removeEvento(ActionEvent actionEvent, PerfilUsuario perfilUsuario){
DAO<PerfilUsuario> dao = new DAO<PerfilUsuario>(PerfilUsuario.class);
dao.remove(perfilUsuario);
this.perfilUsuarios = dao.listaTodos();
}
<p:column>
<p:commandButton id="showDialogButton" onclick="confirmation.show()" value="Remover" type="button"/>
<p:confirmDialog id="confirmDialog" message="Tem certeza que deseja remover o usuário?"
header="Remover Usuáio" severity="alert" widgetVar="confirmation">
<p:commandButton id="confirm" value="Sim" update="messages" oncomplete="confirmation.hide()"
actionListener="#{perfilUsuarioBean.removeEvento(perfilUsuario)}" />
<p:commandButton id="decline" value="Não" onclick="confirmation.hide()" type="button" />
</p:confirmDialog>
</p:column>
Desde já, obrigado a todos.