olá galera,
estou fazendo um CRUD que contem um table onde serão listados os resultados…
nesse table existe um btn para atualizar a linha selecionada (alterar os dados U - CRUD, rss)
esse btn chama um dialog q ira atualizar os dados…
o Dialog possui um btn atualizar…
o problema e o seguinte… eu atualizo os dados no input e clico em atualizar so que ele não atualiza
os campos no MBean… ele continua com dados antigos…
o dialog chama o metodo atualizar certinho, porem n altera o valor das propriedades…
meu exemplo e parecidissimo com o showcase porem no meu não funciona =(
vou postar os codigos… lembrando apenas q eles estão detro de um acordion… so pra organizar melhor vcs irão ver…
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
template="./../../../template/main.xhtml"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:h="http://java.sun.com/jsf/html">
<ui:define name="title">
<h:outputText value="Cadastro de Regiões administrativas" />
</ui:define>
<ui:define name="content">
<p:growl id="growl" showDetail="true" sticky="false" />
<p:accordionPanel autoHeight="false" activeIndex="1">
<p:tab title="Nova Região administrativa" >
<ui:include src="novaRegiaoAdministrativa.xhtml" />
</p:tab>
<p:tab title="Consultar Regiões administrativa" >
<ui:include src="consultarRegioesAdministrativas.xhtml" />
</p:tab>
</p:accordionPanel>
</ui:define>
</ui:composition>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:f="http://java.sun.com/jsf/core">
<h:form prependId="false" id="frmRegAdm">
<h:panelGrid columns="3" cellpadding="10" >
<h:outputText value="Nome: " />
<p:inputText value="#{mainBean.controladorRegiao.chavePesquisa}" />
<p:commandButton value="Pesquisar" actionListener="#{mainBean.controladorRegiao.listarRegioes}" update="table_regiao"/>
</h:panelGrid>
<p:dataTable var="regAdm" value="#{mainBean.controladorRegiao.regioes}" id="table_regiao"
paginator="true" rows="10" paginatorPosition="bottom" >
<f:facet name="header">
<h:outputText value="Lista de Regiões" />
</f:facet>
<p:column headerText="Codigo">
<h:outputText value="#{regAdm.codigo}" />
</p:column>
<p:column headerText="Nome popular">
<h:outputText value="#{regAdm.nomePopular}" />
</p:column>
<p:column headerText="UF">
<h:outputText value="#{regAdm.estado}" />
</p:column>
<p:column style="width:100px">
<h:panelGrid columns="3" cellpadding="2" styleClass="actions">
<p:commandButton update=":frmRegAdm:pnlReg" oncomplete="regiaoDialog.show()" image="ui-icon ui-icon-search" title="View">
<f:setPropertyActionListener value="#{regAdm}" target="#{mainBean.controladorRegiao.regiaoCadastro}" />
<f:setPropertyActionListener value="#{false}" target="#{mainBean.controladorRegiao.editMode}" />
</p:commandButton>
<p:commandButton update=":frmRegAdm:pnlReg" oncomplete="regiaoDialog.show()" image="ui-icon ui-icon-pencil" title="Edit">
<f:setPropertyActionListener value="#{regAdm}" target="#{mainBean.controladorRegiao.regiaoCadastro}" />
<f:setPropertyActionListener value="#{true}" target="#{mainBean.controladorRegiao.editMode}" />
</p:commandButton>
<p:commandButton update=":frmRegAdm:pnlReg" oncomplete="confirmation.show()" image="ui-icon ui-icon-close" title="Delete" rendered="false">
</p:commandButton>
</h:panelGrid>
</p:column>
</p:dataTable>
<!--confirm dialog -->
<p:confirmDialog message="Tem certeza que deseja excluir?" width="200" appendToBody="true"
header="Confirmar" severity="alert" widgetVar="confirmation">
<p:commandButton value="Sim" update="table_regiao" oncomplete="confirmation.hide()" style="margin-right: 8px"/>
<p:commandButton value="Não" onclick="confirmation.hide()" type="button" />
</p:confirmDialog>
<!-- edit dialog -->
<p:dialog header="Região administrativa" widgetVar="regiaoDialog" resizable="false" id="regDlg"
width="650" showEffect="fade" hideEffect="explode" modal="true" appendToBody="true">
<p:panel id="pnlReg">
<h:panelGrid columns="2" cellpadding="3" >
<h:column>
<h:outputText value="Nome popular: * " />
</h:column>
<h:column>
<h:panelGrid columns="3">
<h:outputText value="#{mainBean.controladorRegiao.regiaoCadastro.nomePopular}" style="font-weight:bold; margin-right: 8px" rendered="#{!mainBean.controladorRegiao.editMode}"/>
<p:inputText required="true" value="#{mainBean.controladorRegiao.regiaoCadastro.nomePopular}" size="28" style="margin-right: 8px" rendered="#{mainBean.controladorRegiao.editMode}"/>
<h:outputText value="Estado: * " />
<h:outputText value="#{mainBean.controladorRegiao.regiaoCadastro.estado}" style="font-weight:bold; margin-left: 8px" rendered="#{!mainBean.controladorRegiao.editMode}"/>
<p:selectOneMenu required="true" style="margin-left: 8px" value="#{mainBean.controladorRegiao.regiaoCadastro.estado}" rendered="#{mainBean.controladorRegiao.editMode}">
<f:selectItem itemLabel="Selecione" itemValue="0" />
<f:selectItems value="#{mainBean.estados}" />
</p:selectOneMenu>
</h:panelGrid>
</h:column>
<h:column>
<h:outputText value="Nome completo: * " />
</h:column>
<h:column>
<h:outputText value="#{mainBean.controladorRegiao.regiaoCadastro.nomeCompleto}" style="font-weight:bold; margin-left: 4px" rendered="#{!mainBean.controladorRegiao.editMode}"/>
<p:inputText required="true" value="#{mainBean.controladorRegiao.regiaoCadastro.nomeCompleto}" size="50" style="margin-left: 4px" rendered="#{mainBean.controladorRegiao.editMode}"/>
</h:column>
</h:panelGrid>
<br/>
<p:outputPanel rendered="#{mainBean.controladorRegiao.editMode}" layout="block" style="text-align:left">
<p:commandButton value="Atualizar" update="table_regiao growl" actionListener="#{mainBean.controladorRegiao.atualizar}"
image="ui-icon ui-icon-check" />
<p:commandButton value="Cancelar" onclick="regiaoDialog.hide()" type="button" image="ui-icon ui-icon-close" style="margin-left: 8px"/>
</p:outputPanel>
<p:outputPanel rendered="#{!mainBean.controladorRegiao.editMode}" layout="block" style="text-align:left">
<p:commandButton value="Fechar" onclick="regiaoDialog.hide()" type="button" image="ui-icon ui-icon-close" style="margin-left: 8px"/>
</p:outputPanel>
</p:panel>
</p:dialog>
</h:form>
</ui:composition>
não vo colocar o cod do novo pra economizar espaço... afinal ele funfa XD
package br.com.ainosoft.tulipa.controladores;
import br.com.ainosoft.tulipa.dominio.Regiao;
import br.com.ainosoft.tulipa.servicos.database.RegiaoDAO;
import java.util.ArrayList;
import java.util.List;
import javax.faces.context.FacesContext;
import org.primefaces.component.datatable.DataTable;
import org.primefaces.util.ComponentUtils;
/**
* Controlador especificamente destinado a operações relacionadas a manipulação
* de registros relacionados a regiões administrativas.
*
* @author Pedro E. Cunha Brigatto (mailto: pedro.brigatto@ainosoft.com.br)
*/
public class ControladorRegiao {
private boolean editMode = false;
private String estadoSelecionado = null;
private String chavePesquisa = null;
private Regiao regiaoCadastro = null;
private List<Regiao> regioes = null;
public ControladorRegiao () {
regiaoCadastro = new Regiao();
}
public boolean isEditMode() {
return editMode;
}
public void setEditMode(boolean editMode) {
this.editMode = editMode;
}
public String getEstadoSelecionado() {
return estadoSelecionado;
}
public void setEstadoSelecionado(String estadoSelecionado) {
this.estadoSelecionado = estadoSelecionado;
}
public Regiao getRegiaoCadastro() {
return regiaoCadastro;
}
public void setRegiaoCadastro(Regiao regiaoCadastro) {
this.regiaoCadastro = regiaoCadastro;
}
public void listarRegioes () {
// if (chavePesquisa == null || "".equals(chavePesquisa)) {
// regioes = new RegiaoDAO().consultarTodas();
// } else {
// regioes = new RegiaoDAO().consultar(chavePesquisa);
// }
//aqui e so pra testar
regioes.add(new Regiao("SP", "reg 1", "regiao 1"));
}
public List<Regiao> getRegioes() {
if (regioes == null) {
regioes = new ArrayList<Regiao>();
}
return regioes;
}
public String getChavePesquisa() {
return chavePesquisa;
}
public void setChavePesquisa(String chavePesquisa) {
this.chavePesquisa = chavePesquisa;
}
public boolean cadastrarRegiao () {
return new RegiaoDAO().adicionar(regiaoCadastro);
}
public boolean atualizar () {
boolean sucess = true;
// aqui oh... ele n atualizou.. continua com valores antigos...
System.out.println(regiaoCadastro.getNomePopular());
System.out.println(regiaoCadastro.getNomeCompleto());
// int index = regioes.indexOf(regiaoCadastro);
//
// if(new RegiaoDAO().atualizar(regiaoCadastro)){
// regioes.set(index, regiaoCadastro);
// sucess = true;
// }
return sucess;
}
}
estou usando a lib 3.0 do primefaces…
help please, heheh
ja ta batendo a locura… ¬¬’
valeu galera abs