Galera, algum pode mim ajudar?
Quero atualizar um objeto de uma datatable abrindo em um dialog.
Só que quando clico no botão para editar não abre o dialog
Codigos:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<p:panel header="Funcionários">
<p:panel>
<f:facet name="header">
<h:form>
<p:outputPanel>
<div style="text-align: left; float: left">
<h:outputLabel value="Localizar: " />
<p:inputText value="" style="width:150px" />
</div>
<div style="text-align: right; float: right">
<p:commandButton value="Novo" image="ui-icon-document" title="Novo Funcionário" onclick="dialogFuncionario.show();"/>
</div>
</p:outputPanel>
</h:form>
</f:facet>
<h:form>
<p:dataTable value="#{FuncionarioMB.listar()}" var="funcionario" id="table" >
<p:column headerText="Nome" style="text-align: left">
<h:outputLabel value="#{funcionario.nome}" />
</p:column>
<p:column headerText="Cpf" style="text-align: left">
<h:outputLabel value="#{funcionario.cpf}" />
</p:column>
<p:column headerText="RG" style="text-align: left">
<h:outputLabel value="#{funcionario.rg}" />
</p:column>
<p:column headerText="Endereço" style="text-align: left">
<h:outputLabel value="#{funcionario.endereco}" />
</p:column>
<p:column headerText="Sexo" style="text-align: left">
<h:outputLabel value="#{funcionario.sexo}" />
</p:column>
<p:column headerText="Tipo" style="text-align: left">
<h:outputLabel value="#{funcionario.tipo}" />
</p:column>
<p:column>
<p:commandLink value="Remover" actionListener="#{FuncionarioMB.deletarFuncionario(funcionario)}" update="table"/>
</p:column>
<p:column>
<p:commandButton value="Alterar" actionListener="#{FuncionarioMB.AlterarFuncionario()}"
onclick="diagloEditarFuncionario.show();" update="table">
<f:setPropertyActionListener target="#{FuncionarioMB.funcionarioSelecionado}" value="#{funcionario}"/>
</p:commandButton>
</p:column>
</p:dataTable>
</h:form>
<p:dialog id="dialog" header="Novo Funcionário" widgetVar="dialogFuncionario"
appendToBody="true" resizable="false" closable="false"
modal="true" showEffect="fade" hideEffect="fade" width="450">
<h:form id="formDialog">
<h:panelGrid columns="2" >
<h:outputText value="Nome"/>
<p:inputText value="#{FuncionarioMB.funcionario.nome}"/>
<h:outputText value="CPF"/>
<p:inputText value="#{FuncionarioMB.funcionario.cpf}"/>
<h:outputText value="RG"/>
<p:inputText value="#{FuncionarioMB.funcionario.rg}"/>
<h:outputText value="Endereço"/>
<p:inputText value="#{FuncionarioMB.funcionario.endereco}"/>
<h:outputText value="Sexo"/>
<p:inputText value="#{FuncionarioMB.funcionario.sexo}"/>
<h:outputText value="Tipo"/>
<p:inputText value="#{FuncionarioMB.funcionario.tipo}"/>
</h:panelGrid>
<p:separator/>
<h:commandButton value="Cadastrar" actionListener="#{FuncionarioMB.cadastrarFuncionario()}"/>
<h:commandButton value="Cancelar" onclick="dialogFuncionario.hide();"/>
</h:form>
</p:dialog>
<p:dialog id="dialogEditar" header="Novo Funcionário" widgetVar="dialogEditarFuncionario"
appendToBody="true" resizable="false" closable="false"
modal="true" showEffect="fade" hideEffect="fade" width="450" >
<h:form id="formDialogEditar">
<h:panelGrid columns="2" >
<h:outputText value="Nome"/>
<p:inputText value="#{FuncionarioMB.funcionarioSelecionado.nome}"/>
<h:outputText value="CPF"/>
<p:inputText value="#{FuncionarioMB.funcionarioSelecionado.cpf}"/>
<h:outputText value="RG"/>
<p:inputText value="#{FuncionarioMB.funcionarioSelecionado.rg}"/>
<h:outputText value="Endereço"/>
<p:inputText value="#{FuncionarioMB.funcionarioSelecionado.endereco}"/>
<h:outputText value="Sexo"/>
<p:inputText value="#{FuncionarioMB.funcionarioSelecionado.sexo}"/>
<h:outputText value="Tipo"/>
<p:inputText value="#{FuncionarioMB.funcionarioSelecionado.tipo}"/>
</h:panelGrid>
<p:separator/>
<h:commandButton value="Salvar"/>
<h:commandButton value="Cancelar" onclick="dialogEditarFuncionario.hide();"/>
</h:form>
</p:dialog>
</p:panel>
</p:panel>
</h:body>
</html>
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.controle;
import br.com.dao.DaoFuncionario;
import br.com.modelo.Funcionario;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.event.ActionEvent;
/**
*
* @author Pablo Rocha
*/
@ManagedBean(name = "FuncionarioMB")
public class FuncionarioMB {
private Funcionario funcionario = new Funcionario();
private DaoFuncionario daoFuncionario = new DaoFuncionario();
private List<Funcionario> listaFuncionario = new ArrayList();
private Funcionario funcionarioSelecionado = new Funcionario();
public Funcionario getFuncionario() {
return funcionario;
}
public void setFuncionario(Funcionario funcionario) {
this.funcionario = funcionario;
}
public DaoFuncionario getDaoFuncionario() {
return daoFuncionario;
}
public void setDaoFuncionario(DaoFuncionario daoFuncionario) {
this.daoFuncionario = daoFuncionario;
}
public void cadastrarFuncionario(){
daoFuncionario.adicionar(funcionario);
}
public List<Funcionario> getListaFuncionario() {
return listaFuncionario;
}
public void setListaFuncionario(List<Funcionario> listaFuncionario) {
this.listaFuncionario = listaFuncionario;
}
public List<Funcionario> listar() {
listaFuncionario = daoFuncionario.listarTudo();
return listaFuncionario;
}
public Funcionario getFuncionarioSelecionado() {
return funcionarioSelecionado;
}
public void setFuncionarioSelecionado(Funcionario funcionarioSelecionado) {
this.funcionarioSelecionado = funcionarioSelecionado;
}
public void deletarFuncionario(Funcionario f){
this.funcionario = f;
daoFuncionario.removerFuncionario(funcionario);
}
public void AlterarFuncionario(){
daoFuncionario.AlterarFuncionario(funcionarioSelecionado);
}
}
Desde já, agradeço!