Confirm Dialog

Bom dia MarcolaLipe10 tudo blz?
Então cara, é exatamente isso, mas esses métodos não aprendi na faculdade, eu aprendi
a CRUD, mas o alterar e excluir de uma dataTable não aprendi, olha os métodos alterar e
excluir do meu managedBean, aprendi dessa forma, mas assim só altera e exclui se eu digitar
os dados no formulário, o que eu gostaria de entender é como mandar o registro para o formulário quando eu
clica-se no botão alterar e excluir quando eu clica-se no botão excluir.

managedBean:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package managedBeans;

import entidades.Especialidades;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.model.ListDataModel;
import sessao.EspecialidadesFacade;


/**
 *
 * @author Gimenes
 */
@ManagedBean 
@ViewScoped


public class especialidadesManagedBean implements java.io.Serializable{
    @EJB
    private EspecialidadesFacade especialidadesFacade;
    
    private ListDataModel especialidadess;

    public ListDataModel getEspecialidadess() {
        return especialidadess;
    }

    public void setEspecialidadess(ListDataModel especialidadess) {
        this.especialidadess = especialidadess;
    }
    
    
    
    
    
    private Especialidades especialidades;
    
    
    
    public String inserirE(){
       this.especialidadesFacade.create(especialidades);
       return null;
        
    }
    public String alterarE(){
        this.especialidadesFacade.edit(especialidades);
        return null;
    }
    
    public String removerE(){
        this.especialidadesFacade.remove(especialidades);
       
        return null;
    } 
    
   
  
    
    private void recuperarEspecialidades(){
        this.especialidadess = new ListDataModel(especialidadesFacade.recuperarTodos());
    }
    
    public void recuperar(){
        this.recuperarEspecialidades();
    }
    
    
    

    public Especialidades getEspecialidades() {
        if(especialidades ==null){
            especialidades = new Especialidades();
            
        }
        return especialidades;
    }

    public void setEspecialidades(Especialidades especialidades) {
        this.especialidades = especialidades;
    }
    
    
    
}

Mais uma vez obrigado pela paciência, valeu mesmo.

Galera, podem me ajudar ?

Em relação ao assunto do tópico, quando tento excluir um item, o sistema só deleta o ultimo registro do datatable ! Jà tentei de TUDO… Segue o meu codigo, quem puder da uma força, ficarei muito grato ! valeu !

Uma parte é antes do Confirme Dialog, só para ajudarem a análise… Os botoes de exclusao ficam em cada registro da datatable

           [code]                         <p:column style="width:10px" headerText="Data de Cadastro">
						<center>#{cliente.dataCadastro}</center>
					</p:column>



                                  <!-- Aqui começa o botao de excluir -->
					<p:column headerText="Ações">
						<p:commandButton oncomplete="confirmation.show()"
							icon="ui-icon-trash" ajax="true" title="Excluir o Cliente">

			
						</p:commandButton>

						<p:confirmDialog message="Deseja realmente excluir este registo?"
							closable="true" header="Aviso"
							severity="alert" widgetVar="confirmation" showEffect="fade"
							 global="true">

							<p:commandButton id="btnSim" value="Sim"
								oncomplete="confirmation.hide()" process="@this" action="#{clienteBean.excluir}"
								update=" :lista:idTableListagem"
								ajax="true" onclick="confirmation.hide()">
							<f:setPropertyActionListener target="#{clienteBean.clienteSelecionado}" value="#{cliente}" />
								
							</p:commandButton>
							<p:commandButton id="btnNao" value="Não"
								type="button" />
						</p:confirmDialog>

					</p:column>
				</p:dataTable>
			</center>
		</p:fieldset>

	</h:form>


</p:layoutUnit>

</p:layout>
[/code]

</html>

RESOLVIDO !

Galera, depois de muito esforço, noites e mais noites perdidas, descobri o que era ! Pelo menos no meu caso foi assim, a versao do JAR que estava usando estava com problema, estava usando a versao 4.0… PQP ! É DE CHORAR !
entao foi para versao 3.4 e funcinou beleza, fiz algumas alteracoes no codigo desse ultimo que postei… segue ai para quem quiser !!

valeu !!

[code]&lt;p:column&gt;

						&lt;p:commandButton value="Excluir" icon="ui-icon-trash"
							oncomplete="confirmation#{cliente.id}.show()" ajax="true"&gt;
							
						&lt;/p:commandButton&gt;




						&lt;p:confirmDialog id="confirmDialog"
							message="Deseja realmente excluir este registo?"
							closable="true" header="Aviso"
							severity="alert" 
							widgetVar="confirmation#{cliente.id}"   
							showEffect="fade"
							 global="true"
							 appendToBody="true"&gt;


							&lt;p:commandButton id="confirm" value="Sim"
								oncomplete="confirmation#{cliente.id}.hide()" process="@this" action="#{clienteBean.excluir}"
								update=" :lista:idTableListagem"
								ajax="true" onclick="confirmation#{cliente.id}.hide()"&gt;
							&lt;f:setPropertyActionListener target="#{clienteBean.clienteSelecionado}" value="#{cliente}" /&gt;
									
							&lt;/p:commandButton&gt;
							&lt;p:commandButton id="btnNao" value="Não" type="button"  onclick="confirmation#{cliente.id}.hide()" /&gt;   
					
								
						&lt;/p:confirmDialog&gt;
					&lt;/p:column&gt;[/code]

Olá pessoal,

Tenho um problema semelhante,

Estou populando o dialog dentro de um p:datatable

[code]
<p:column headerText=“teste”>
<p:commandButton value=“Destroy the World”>
<p:confirm header=“Confirmation” message=“Are you sure?” icon=“ui-icon-alert” />
</p:commandButton>

							<p:confirmDialog global="true" showEffect="fade" hideEffect="explode">  
								<p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" action="#{userController.deleteUser}" >
									<f:setPropertyActionListener target="#{userController.id}" value="#{user.id}" />
								</p:commandButton>
								<p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />       
							</p:confirmDialog>  
						</p:column>[/code]

Ele até exibe o confirm dialog, mas ao clicar na opção sim, ele não consegue chamar o método que está no bean, alguém pode me ajudar?

o action e o propertyActionListener devem ficar no p:commandButton, esse que tá com o value “Destroy the World”. O confirm dialog só tem que ter os botões sim e não. mais nada.

Olá erick,

alteração feita mas ainda sim, ele não chama o método deleteUser no bean userController…

[code]
<p:column headerText=“teste”>
<p:commandButton value=“Destroy the World” action="#{userController.deleteUser}">
<f:setPropertyActionListener target="#{userController.id}" value="#{user.id}" />
<p:confirm header=“Confirmation” message=“Are you sure?” icon=“ui-icon-alert” />
</p:commandButton>

							<p:confirmDialog global="true" showEffect="fade" hideEffect="explode">  
								<p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
								<p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />       
							</p:confirmDialog>  
						</p:column>[/code]

Como tá o seu método? Tente com actionListener:

 <p:commandButton value="Destroy the World" actionListener="#{userController.deleteUser}">   ...

//Bean
public void deleteUser(javax.faces.event.ActionEvent actionEvent){
System.out.println("Lambda Lambda Lambda");
}

Atualizado, mas ainda não chama o método…

[code] <p:column headerText=“teste”>
<p:commandButton value=“Destroy the World” actionListener="#{userController.deleteUser}">
<f:setPropertyActionListener target="#{userController.id}" value="#{user.id}" />
<p:confirm header=“Confirmation” message=“Are you sure?” icon=“ui-icon-alert” />
</p:commandButton>

							<p:confirmDialog global="true" showEffect="fade" hideEffect="explode">  
								<p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
								<p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />       
							</p:confirmDialog>  
						</p:column>[/code]

[code]
@ManagedBean
public class UserController implements Serializable{

public void deleteUser(javax.faces.event.ActionEvent actionEvent)
{
.
.
.
} 

}[/code]

Isso ta dentro de um h:form?

Sim, está dentro de um h:form e dentro de um p:dataTable.