[RESOLVIDO] editar linha da linha selecionada na <p:dataTable> no <p:dialog /> jsf primefaces

Bom dia !
Não estou conseguindo enviar os dados de uma linha que selecionei através de um botão com o <p:commandButton/> do <p:dataTable> para o <p:dialog /> para que eu possa editar.

Meu ben:

ackage br.com.livros.controle;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import br.com.livros.dao.UsuarioDAO;
import br.com.livros.modelo.Usuario;

@ManagedBean(name="usuarioBean")
@SessionScoped
public class UsuarioBean  {
	
		
	private Usuario usuario = new Usuario();
	private List<Usuario> user;
	private Usuario painel = new Usuario();
	private String parametro;
	
	UsuarioDAO userdao = new UsuarioDAO();	
	
	public UsuarioBean(){		
		setUser(userdao.listarUsuario());
	}
	
	public Usuario getUsuario() {		
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public String Salvar(){	
		UsuarioDAO usuariodao = new UsuarioDAO();		
		usuariodao.AdicionarUsuario(this.usuario);
		this.usuario = new Usuario();
		return "";
	}
	
	public List<Usuario> getUser() {		
		user = userdao.listarUsuario();
		return user;
	}

	public void setUser(List<Usuario> user) {
		this.user = user;
	}	

	public Usuario getPainel() {		
		return painel;
	}

	public void setPainel(Usuario painel) {
		
		this.painel = painel;
	}

	public String getParametro() {
		return parametro;
	}

	public void setParametro(String parametro) {
		this.parametro = parametro;
	}

	public String onEdit(){	
		//usuario = (Usuario) dataTable.getRowData();
		//dataItemId.setValue(usuario.getUsuCodigo());
		
		//System.out.println("dataitem = "+dataItemId.getValue());
				
		FacesContext context = FacesContext.getCurrentInstance();
		HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();   
		//System.out.println("parametro = "+req.getParameter("usuId"));
		       
		if(req.getParameter("usuId") != null && !req.getParameter("usuId").equals("")) 
			{ 
			// System.out.println("parametro1 = "+req.getParameter("usuId"));
		    // i = Integer.parseInt(parametro);
		    // usuario.setUsuCodigo(i); 
		    //userdao.ExcluirUsuario(usuario);   
		    //this.usuario = new Usuario();
			}
			return "";
	}
	public String onCancel(){
		
		String parametro = "";  
		Integer i = 0;
			
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();  
        if(req.getParameter("usuId") != null && !req.getParameter("usuId").equals("")) 
        	{ 
            parametro = req.getParameter("usuId");
            i = Integer.parseInt(parametro);
            usuario.setUsuCodigo(i); 
            userdao.ExcluirUsuario(usuario);  
            this.usuario = new Usuario();
        	}
		return "";		
	}
	
public String onList(){        
       
        System.out.println("parametro = "+this.parametro);
		return "";		
	}
	
	
	
}

página jsf

<h:form id="formdatatable">
					<p:panel >	
					<p:dataTable id="dattusuarios" var="users" value="#{usuarioBean.user}" style="text-align:center" paginator="true" rows="10" rowKey="#{users.usuCodigo}" >
					
					<f:facet name="header">Tabela de Usuarios</f:facet>
					
					<p:column headerText="Código" style="width:8%">  
			            <p:cellEditor>  
			                <f:facet name="output">  
			                    <h:outputText value="#{users.usuCodigo}" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:password value="#{users.usuCodigo}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
        				           		
	           		<p:column headerText="Nome do Usuário" style="width:30%">  
			            <p:cellEditor>  
			                <f:facet name="output">  
			                    <h:outputText value="#{users.usuNome}" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:inputText value="#{users.usuNome}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
			        
			        <p:column headerText="Tipo de Usuário" style="width:30%">  
			            <p:cellEditor>  
			                <f:facet name="output" >  
		                    <h:outputText value="#{users.usuTipoUsuario}" align="center" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:inputText value="#{users.usuTipoUsuario}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
			        
			        <p:column headerText="Senha" style="width:30%">  
			            <p:cellEditor>  
			                <f:facet name="output">  
			                    <h:outputText value="#{users.usuSenha}" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:password value="#{users.usuSenha}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
			        
			        <p:column headerText="Editar" style="width:5%"> 
            			<p:commandButton onclick="confirmationEdit.show()" icon="ui-icon-document-b" action="#{usuarioBean.onList}" >
            				<f:setPropertyActionListener value="#{users.usuCodigo}" target="#{usuarioBean.parametro}" />            				  
						</p:commandButton>  
        			</p:column>  
        			<p:column headerText="Excluir" style="width:5%"> 
            			<p:commandButton action="#{usuarioBean.onCancel}" icon="ui-icon-trash"  onclick="confirmation.show()" >             				
            				<f:param value="#{users.usuCodigo}" name="usuId" />  
            			</p:commandButton>
        			</p:column>       	
					</p:dataTable>
					</p:panel >	
					</h:form>
					
					<p:dialog  header="Edição do Usuário"  widgetVar="confirmationEdit"  resizable="false" id="usuDialog" showEffect="fade" hideEffect="explode" modal="true"  >  
				     	 <h:panelGrid id="display" columns ="2">
				         
				         	<h:outputLabel value="Código do Usuário : " /> 
			             	<h:outputLabel value="#{usuarioBean.painel.usuCodigo}" />  
			             	
				         	<h:outputLabel value="Nome do Usuário : " /> 
			             	<p:inputText value="#{usuarioBean.painel.usuNome}" style="width:100%" required="true"/>  
			                
			                <h:outputLabel value="Tipo de Usuário : " /> 
			                <p:inputText value="" style="width:100%" required="true" requiredMessage="Digite o tipo de usuário!"/>  
			               
			               	<h:outputLabel value="Senha : " /> 				        	 
				            <p:password value="" style="width:100%" required="true" feedback="true" promptLabel="Por favor, Digite a senha" weakLabel="Fraco" goodLabel="Boa" strongLabel="Forte" requiredMessage="Digite a senha de usuário!"/>  
				         
				     		<p:commandButton value="Alterar" icon="ui-icon-check" actionListener="#{usuarioBean.onEdit}" update=":formdatatable" process="@this" oncomplete="confirmationEdit.hide()" >  
				      			
				      		</p:commandButton>
				        	<p:commandButton value="Cancelar" icon="ui-icon-close" oncomplete="confirmationEdit.hide()"/>       
					</h:panelGrid>					
				 </p:dialog> 

Editei meus códigos, com vários exemplos que peguei na internet mas não consegui resolver.

datatable com dialog

<h:form id="formdatatable">
					<p:panel >	
					<p:dataTable id="dattusuarios" var="users" value="#{usuarioBean.user}" style="text-align:center" paginator="true" rows="10" rowKey="#{users.usuCodigo}" >
					
					<f:facet name="header">Tabela de Usuarios</f:facet>
					
					<p:column headerText="Código" style="width:8%">  
			            <p:cellEditor>  
			                <f:facet name="output">  
			                    <h:outputText value="#{users.usuCodigo}" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:password value="#{users.usuCodigo}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
        				           		
	           		<p:column headerText="Nome do Usuário" style="width:30%">  
			            <p:cellEditor>  
			                <f:facet name="output">  
			                    <h:outputText value="#{users.usuNome}" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:inputText value="#{users.usuNome}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
			        
			        <p:column headerText="Tipo de Usuário" style="width:30%">  
			            <p:cellEditor>  
			                <f:facet name="output" >  
		                    <h:outputText value="#{users.usuTipoUsuario}" align="center" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:inputText value="#{users.usuTipoUsuario}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
			        
			        <p:column headerText="Senha" style="width:30%">  
			            <p:cellEditor>  
			                <f:facet name="output">  
			                    <h:outputText value="#{users.usuSenha}" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:password value="#{users.usuSenha}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
			        
			        <p:column headerText="Editar" style="width:5%"> 
            			<p:commandButton oncomplete="confirmationEdit.show()" update=":formdatatable" icon="ui-icon-document-b" action="#{usuarioBean.carregarDialog}">            				  
            				<f:setPropertyActionListener value="#{users}" target="#{usuarioBean.selectedUsuario}" />       				  
						</p:commandButton>  
        			</p:column>  
        			<p:column headerText="Excluir" style="width:5%"> 
            			<p:commandButton action="#{usuarioBean.excluirUsuario}" icon="ui-icon-trash"  onclick="confirmation.show()" >    
            			<f:setPropertyActionListener value="#{users}" target="#{usuarioBean.selectedUsuario}" />         				
            				 
            			</p:commandButton>
        			</p:column>       	
					</p:dataTable>
					</p:panel >	
					</h:form>
					
					<p:dialog  header="Edição do Usuário"  widgetVar="confirmationEdit"  resizable="false" id="usuDialog" showEffect="fade" hideEffect="explode" modal="true"  >  
				     	 <h:panelGrid id="display" columns ="2">				         
				         	<h:outputLabel value="Código do Usuário : " /> 
			             	<h:outputLabel value="#{usuarioBean.selectedUsuario.usuCodigo}" />  
			             	
				         	<h:outputLabel value="Nome do Usuário : " /> 
			             	<p:inputText value="#{usuarioBean.selectedUsuario.usuNome}" style="width:100%" required="true"/>  
			                
			                <h:outputLabel value="Tipo de Usuário : " /> 
			                <p:inputText value="#{usuarioBean.selectedUsuario.usuTipoUsuario}" style="width:100%" required="true" requiredMessage="Digite o tipo de usuário!"/>  
			               
			               	<h:outputLabel value="Senha : " /> 				        	 
				            <p:password value="#{usuarioBean.selectedUsuario.usuSenha}" style="width:100%" required="true" feedback="true" promptLabel="Por favor, Digite a senha" weakLabel="Fraco" goodLabel="Boa" strongLabel="Forte" requiredMessage="Digite a senha de usuário!"/>  
				         
				     		<p:commandButton value="Alterar" icon="ui-icon-check" actionListener="#{usuarioBean.editarUsuario}" update=":formdatatable" process="@this" oncomplete="confirmationEdit.hide()" >  
				      			
				      		</p:commandButton>
				        	<p:commandButton value="Cancelar" icon="ui-icon-close" oncomplete="confirmationEdit.hide()"/>       
					</h:panelGrid>					
				 </p:dialog> 

Bean

package br.com.livros.controle;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import br.com.livros.dao.UsuarioDAO;
import br.com.livros.modelo.Usuario;

@ManagedBean(name="usuarioBean")
@SessionScoped
public class UsuarioBean  {
	
	private List<Usuario> user;
	private Usuario usuario = new Usuario();
	private Usuario selectedUsuario = new Usuario();
	UsuarioDAO userdao;	
	
	public UsuarioBean(){		
		userdao = new UsuarioDAO();
		user = userdao.listarUsuario();
	}
	
	public String Salvar(){	
		UsuarioDAO usuariodao = new UsuarioDAO();		
		usuariodao.AdicionarUsuario(this.usuario);		
		return "";
	}
	
	public List<Usuario> getUser() {	
		userdao = new UsuarioDAO();
		user = userdao.listarUsuario();
		return user;
	}
	public void carregarDialog(){	
		usuario = new Usuario();
		usuario = userdao.carregarDialog(selectedUsuario);			
		setSelectedUsuario(usuario);
		
	}

	public void setUser(List<Usuario> user) {
		this.user = user;
	}
	
	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	

	public Usuario getSelectedUsuario() { 
		return selectedUsuario;
	}
	
	public void setSelectedUsuario(Usuario selectedUsuario) {		
		this.selectedUsuario = selectedUsuario;
	}
	
	public String editarUsuario(){	
						
		FacesContext context = FacesContext.getCurrentInstance();
		HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();   
		
		       
		if(req.getParameter("usuId") != null && !req.getParameter("usuId").equals("")) 
			{ 
		   
			}
			return "";
	}
	
	public String excluirUsuario(){
	   selectedUsuario.getUsuCodigo();      
       userdao.ExcluirUsuario(selectedUsuario);
	return "";		
	}
}

DAO

@SuppressWarnings("unused")
	public Usuario carregarDialog(Usuario u){
		Usuario user = new Usuario();
		List<Usuario> itens = null;	
		Session session = ConnectFactory.getInstance();
		
		try {
	    	Criteria cri = session.createCriteria(Usuario.class);	
	    	cri.add(Restrictions.ge("usuCodigo", u.getUsuCodigo()));
	    	itens = cri.list();
	    	
	    	for(Usuario us : itens)
		    	{
		    	user.setUsuCodigo(us.getUsuCodigo());
		    	user.setUsuNome(us.getUsuNome());
		    	user.setUsuTipoUsuario(us.getUsuTipoUsuario());
		    	user.setUsuSenha(us.getUsuSenha());
		    	}
	    	
	    	} catch (HibernateException e) {
	            e.printStackTrace();
	        }finally{
	        	//session.close();
	        } 
		
		return user;
		}

Aqui tem um exemplo fácil de edição: http://www.primefaces.org/showcase/ui/datatableRowEditing.jsf

igor_ks, muito obrigado pela atenção, pelo site do pimefaces eu já tinha tentado e não tinha conseguido mas eu consegui resolver, estou postando a solução pois alguém possa estar com as mesmas dúvidas que tive. Obrigado. Valeu !
O que me ajudou muito foi nesta página:
http://www.lucianotulio.com.br/hibernate-primefaces/

a minha página jsf ficou assim:

<h:form id="formdatatable">
					<p:panel >	
					<p:dataTable id="dattusuarios" var="users" paginator="true" rows="10" value="#{usuarioBean.user}" style="text-align:center" rowKey="#{users.usuCodigo}" emptyMessage="Não há registros de usuários cadastrados" filteredValue="#{usuarioBean.user}" >
					
					<f:facet name="header">Tabela de Usuarios</f:facet>
					        				           		
	           		<p:column headerText="Nome do Usuário"  filterBy="nome do usuário" filterMatchMode="contains" style="width:30%">  
			         
			                    <h:outputText value="#{users.usuNome}" />  
			                
			        </p:column>  
			        
			        <p:column headerText="Tipo de Usuário" filterBy="Tipo de Usuário" filterMatchMode="contains" style="width:30%">  
			             
		                    <h:outputText value="#{users.usuTipoUsuario}" align="center" />  
			                
			        </p:column>  
			        
			        <p:column headerText="Senha" style="width:30%">  
			              
			                    <h:outputText value="#{users.usuSenha}" />  
			                
			        </p:column>  
			                			
        			<p:column headerText="Ações">
                        <p:commandLink title="Alterar" update=":formAlterar:Alterar"
                           oncomplete="dialogAlterar.show()" immediate="true">
                           <p:graphicImage library="images" name="editar.png" />
                            <f:setPropertyActionListener target="#{usuarioBean.usuario}"
                            value="#{users}" />
                        </p:commandLink>
                        <p:commandLink title="Excluir" update=":formExcluir:Excluir"
                           oncomplete="confirmation.show()" immediate="true">
                           <p:graphicImage library="images" name="excluir.png" />
                              <f:setPropertyActionListener target="#{usuarioBean.usuario}"
                             value="#{users}" />
                         </p:commandLink>
                       </p:column>        			      	
					</p:dataTable>
					</p:panel >	
					</h:form>
					
					<h:form id="formAlterar">
					<p:dialog  header="Edição do Usuário"  widgetVar="dialogAlterar"  resizable="false" id="Alterar" showEffect="fade" hideEffect="explode" modal="true"  >  
				     	 <h:panelGrid columns ="2">				         
				         	<h:outputLabel value="Código do Usuário : " /> 
			             	<h:outputLabel value="#{usuarioBean.usuario.usuCodigo}" />  
			             	
				         	<h:outputLabel value="Nome do Usuário : " /> 
			             	<p:inputText value="#{usuarioBean.usuario.usuNome}" style="width:100%" required="true"/>  
			                
			                <h:outputLabel value="Tipo de Usuário : " /> 
			                <p:inputText value="#{usuarioBean.usuario.usuTipoUsuario}" style="width:100%" required="true" requiredMessage="Digite o tipo de usuário!"/>  
			               
			               	<h:outputLabel value="Senha : " /> 				        	 
				            <p:password value="#{usuarioBean.usuario.usuSenha}" style="width:100%" required="true" feedback="true" promptLabel="Por favor, Digite a senha" weakLabel="Fraco" goodLabel="Boa" strongLabel="Forte" requiredMessage="Digite a senha de usuário!"/>  
				         
				     		<p:commandButton value="Alterar" icon="ui-icon-check" actionListener="#{usuarioBean.editarUsuario}" update=":formdatatable" process="@this" oncomplete="confirmationEdit.hide()" >  
				      			
				      		</p:commandButton>
				        	<p:commandButton value="Cancelar" icon="ui-icon-close" oncomplete="confirmationEdit.hide()"/>       
					</h:panelGrid>					
				 </p:dialog> 
				 </h:form>	
				 
				 <h:form id="formExcluir">
					 <p:confirmDialog id="Excluir"
                        message="Você gostaria de deletar o(a) Usuário(a) #{usuarioBean.usuario.usuNome}?"
                        header="Excluir Usuário" severity="alert" widgetVar="confirmation" showEffect="fade" hideEffect="explode" >
 
                        <p:commandButton id="confirm" value="Sim"
                                oncomplete="confirmation.hide()"
                                actionListener="#{usuarioBean.excluirUsuario}"
                                update=":formdatatable:dattusuarios, :formusuarios:messages" icon="ui-icon-check" />
                        <p:commandButton id="decline" value="Não"
                                onclick="confirmation.hide()" type="button" icon="ui-icon-close"/>
                </p:confirmDialog>
				</h:form>

Bean

package br.com.livros.controle;

import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.servlet.http.HttpServletRequest;

import br.com.livros.dao.UsuarioDAO;
import br.com.livros.modelo.Usuario;

@ManagedBean(name="usuarioBean")
@ViewScoped
public class UsuarioBean  {
	
	@SuppressWarnings("rawtypes")
	private List user = new ArrayList();	
	private Usuario usuario = new Usuario();	
	UsuarioDAO userdao = new UsuarioDAO();
	
	public UsuarioBean(){
		
		user = userdao.listarUsuario();
		usuario = new Usuario();
	}
	
	public String Salvar(){	
		UsuarioDAO usuariodao = new UsuarioDAO();		
		usuariodao.AdicionarUsuario(usuario);	
		usuario = new Usuario();
		return "";
		
	}
	
	public List<Usuario> getUser() {	
		userdao = new UsuarioDAO();
		user = userdao.listarUsuario();
		return user;
	}
	
	public void setUser(List<Usuario> user) {
		this.user = user;
	}
	
	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
		
	public void editarUsuario(){	
						
		FacesContext context = FacesContext.getCurrentInstance();
		HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();   
		
		       
		if(req.getParameter("usuId") != null && !req.getParameter("usuId").equals("")) 
			{ 
		   
			}
		usuario = new Usuario();
	}
	
	public String excluirUsuario(ActionEvent actionEvent){
		FacesContext facesMessage = FacesContext.getCurrentInstance();
		try{
		   usuario.getUsuCodigo();      
	       userdao.ExcluirUsuario(usuario);
	       usuario = new Usuario();
	       facesMessage.addMessage("formusuarios:messages",  new FacesMessage("Usuário foi excluido com sucesso ! ")); 
		}catch(Exception e)
	    	{
			facesMessage.addMessage("formusuarios:messages",  new FacesMessage("Não foi possível excluir o Usuário ! "));	
	    	}
		
		
		
	return "";		
	}
}

DAO

Session session = ConnectFactory.getInstance();	
	Transaction tran ;

    public void AdicionarUsuario(Usuario c){

        AnnotationConfiguration cfg = new AnnotationConfiguration();
        cfg.addAnnotatedClass(Usuario.class);

        session.beginTransaction();
        Serializable a = session.save(c);
        session.getTransaction().commit();        
        session.close(); 
        FacesContext facesMessage = FacesContext.getCurrentInstance();
        
        if(!a.equals("") && !a.equals("0") && !a.equals(null))
	        {        	
    		facesMessage.addMessage("login:messages",  new FacesMessage("Usuário foi cadastrado com sucesso ! ")); 	
	        }
        	else
	        	{        		
        		facesMessage.addMessage("login:messages",  new FacesMessage("Não foi possível cadastrar o Usuário")); 	
	        	}
        }

    public void AlterarUsuario(Usuario c){

        AnnotationConfiguration cfg = new AnnotationConfiguration();
        cfg.addAnnotatedClass(Usuario.class);

        
        session.beginTransaction();
        this.session.flush();  
        this.session.clear();
        session.update(c);
        //session.getTransaction().commit();        
        session.close();  
        }    

    public void ExcluirUsuario(Usuario u){    	
    	AnnotationConfiguration cfg = new AnnotationConfiguration();
        cfg.addAnnotatedClass(Usuario.class);

        this.session.beginTransaction();
        //this.session.merge(u);
        this.session.flush();  
        this.session.clear();        
        this.session.delete(u);
        this.session.getTransaction().commit();       
        }
1 curtida

[quote=alexwebsp]Bom dia !
Não estou conseguindo enviar os dados de uma linha que selecionei através de um botão com o <p:commandButton/> do <p:dataTable> para o <p:dialog /> para que eu possa editar.

Meu ben:

ackage br.com.livros.controle;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import br.com.livros.dao.UsuarioDAO;
import br.com.livros.modelo.Usuario;

@ManagedBean(name="usuarioBean")
@SessionScoped
public class UsuarioBean  {
	
		
	private Usuario usuario = new Usuario();
	private List<Usuario> user;
	private Usuario painel = new Usuario();
	private String parametro;
	
	UsuarioDAO userdao = new UsuarioDAO();	
	
	public UsuarioBean(){		
		setUser(userdao.listarUsuario());
	}
	
	public Usuario getUsuario() {		
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public String Salvar(){	
		UsuarioDAO usuariodao = new UsuarioDAO();		
		usuariodao.AdicionarUsuario(this.usuario);
		this.usuario = new Usuario();
		return "";
	}
	
	public List<Usuario> getUser() {		
		user = userdao.listarUsuario();
		return user;
	}

	public void setUser(List<Usuario> user) {
		this.user = user;
	}	

	public Usuario getPainel() {		
		return painel;
	}

	public void setPainel(Usuario painel) {
		
		this.painel = painel;
	}

	public String getParametro() {
		return parametro;
	}

	public void setParametro(String parametro) {
		this.parametro = parametro;
	}

	public String onEdit(){	
		//usuario = (Usuario) dataTable.getRowData();
		//dataItemId.setValue(usuario.getUsuCodigo());
		
		//System.out.println("dataitem = "+dataItemId.getValue());
				
		FacesContext context = FacesContext.getCurrentInstance();
		HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();   
		//System.out.println("parametro = "+req.getParameter("usuId"));
		       
		if(req.getParameter("usuId") != null && !req.getParameter("usuId").equals("")) 
			{ 
			// System.out.println("parametro1 = "+req.getParameter("usuId"));
		    // i = Integer.parseInt(parametro);
		    // usuario.setUsuCodigo(i); 
		    //userdao.ExcluirUsuario(usuario);   
		    //this.usuario = new Usuario();
			}
			return "";
	}
	public String onCancel(){
		
		String parametro = "";  
		Integer i = 0;
			
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();  
        if(req.getParameter("usuId") != null && !req.getParameter("usuId").equals("")) 
        	{ 
            parametro = req.getParameter("usuId");
            i = Integer.parseInt(parametro);
            usuario.setUsuCodigo(i); 
            userdao.ExcluirUsuario(usuario);  
            this.usuario = new Usuario();
        	}
		return "";		
	}
	
public String onList(){        
       
        System.out.println("parametro = "+this.parametro);
		return "";		
	}
	
	
	
}

página jsf

<h:form id="formdatatable">
					<p:panel >	
					<p:dataTable id="dattusuarios" var="users" value="#{usuarioBean.user}" style="text-align:center" paginator="true" rows="10" rowKey="#{users.usuCodigo}" >
					
					<f:facet name="header">Tabela de Usuarios</f:facet>
					
					<p:column headerText="Código" style="width:8%">  
			            <p:cellEditor>  
			                <f:facet name="output">  
			                    <h:outputText value="#{users.usuCodigo}" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:password value="#{users.usuCodigo}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
        				           		
	           		<p:column headerText="Nome do Usuário" style="width:30%">  
			            <p:cellEditor>  
			                <f:facet name="output">  
			                    <h:outputText value="#{users.usuNome}" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:inputText value="#{users.usuNome}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
			        
			        <p:column headerText="Tipo de Usuário" style="width:30%">  
			            <p:cellEditor>  
			                <f:facet name="output" >  
		                    <h:outputText value="#{users.usuTipoUsuario}" align="center" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:inputText value="#{users.usuTipoUsuario}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
			        
			        <p:column headerText="Senha" style="width:30%">  
			            <p:cellEditor>  
			                <f:facet name="output">  
			                    <h:outputText value="#{users.usuSenha}" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:password value="#{users.usuSenha}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
			        
			        <p:column headerText="Editar" style="width:5%"> 
            			<p:commandButton onclick="confirmationEdit.show()" icon="ui-icon-document-b" action="#{usuarioBean.onList}" >
            				<f:setPropertyActionListener value="#{users.usuCodigo}" target="#{usuarioBean.parametro}" />            				  
						</p:commandButton>  
        			</p:column>  
        			<p:column headerText="Excluir" style="width:5%"> 
            			<p:commandButton action="#{usuarioBean.onCancel}" icon="ui-icon-trash"  onclick="confirmation.show()" >             				
            				<f:param value="#{users.usuCodigo}" name="usuId" />  
            			</p:commandButton>
        			</p:column>       	
					</p:dataTable>
					</p:panel >	
					</h:form>
					
					<p:dialog  header="Edição do Usuário"  widgetVar="confirmationEdit"  resizable="false" id="usuDialog" showEffect="fade" hideEffect="explode" modal="true"  >  
				     	 <h:panelGrid id="display" columns ="2">
				         
				         	<h:outputLabel value="Código do Usuário : " /> 
			             	<h:outputLabel value="#{usuarioBean.painel.usuCodigo}" />  
			             	
				         	<h:outputLabel value="Nome do Usuário : " /> 
			             	<p:inputText value="#{usuarioBean.painel.usuNome}" style="width:100%" required="true"/>  
			                
			                <h:outputLabel value="Tipo de Usuário : " /> 
			                <p:inputText value="" style="width:100%" required="true" requiredMessage="Digite o tipo de usuário!"/>  
			               
			               	<h:outputLabel value="Senha : " /> 				        	 
				            <p:password value="" style="width:100%" required="true" feedback="true" promptLabel="Por favor, Digite a senha" weakLabel="Fraco" goodLabel="Boa" strongLabel="Forte" requiredMessage="Digite a senha de usuário!"/>  
				         
				     		<p:commandButton value="Alterar" icon="ui-icon-check" actionListener="#{usuarioBean.onEdit}" update=":formdatatable" process="@this" oncomplete="confirmationEdit.hide()" >  
				      			
				      		</p:commandButton>
				        	<p:commandButton value="Cancelar" icon="ui-icon-close" oncomplete="confirmationEdit.hide()"/>       
					</h:panelGrid>					
				 </p:dialog> 

[/quote]

[quote=alexwebsp]Bom dia !
Não estou conseguindo enviar os dados de uma linha que selecionei através de um botão com o <p:commandButton/> do <p:dataTable> para o <p:dialog /> para que eu possa editar.

Meu ben:

ackage br.com.livros.controle;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import br.com.livros.dao.UsuarioDAO;
import br.com.livros.modelo.Usuario;

@ManagedBean(name="usuarioBean")
@SessionScoped
public class UsuarioBean  {
	
		
	private Usuario usuario = new Usuario();
	private List<Usuario> user;
	private Usuario painel = new Usuario();
	private String parametro;
	
	UsuarioDAO userdao = new UsuarioDAO();	
	
	public UsuarioBean(){		
		setUser(userdao.listarUsuario());
	}
	
	public Usuario getUsuario() {		
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public String Salvar(){	
		UsuarioDAO usuariodao = new UsuarioDAO();		
		usuariodao.AdicionarUsuario(this.usuario);
		this.usuario = new Usuario();
		return "";
	}
	
	public List<Usuario> getUser() {		
		user = userdao.listarUsuario();
		return user;
	}

	public void setUser(List<Usuario> user) {
		this.user = user;
	}	

	public Usuario getPainel() {		
		return painel;
	}

	public void setPainel(Usuario painel) {
		
		this.painel = painel;
	}

	public String getParametro() {
		return parametro;
	}

	public void setParametro(String parametro) {
		this.parametro = parametro;
	}

	public String onEdit(){	
		//usuario = (Usuario) dataTable.getRowData();
		//dataItemId.setValue(usuario.getUsuCodigo());
		
		//System.out.println("dataitem = "+dataItemId.getValue());
				
		FacesContext context = FacesContext.getCurrentInstance();
		HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();   
		//System.out.println("parametro = "+req.getParameter("usuId"));
		       
		if(req.getParameter("usuId") != null && !req.getParameter("usuId").equals("")) 
			{ 
			// System.out.println("parametro1 = "+req.getParameter("usuId"));
		    // i = Integer.parseInt(parametro);
		    // usuario.setUsuCodigo(i); 
		    //userdao.ExcluirUsuario(usuario);   
		    //this.usuario = new Usuario();
			}
			return "";
	}
	public String onCancel(){
		
		String parametro = "";  
		Integer i = 0;
			
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();  
        if(req.getParameter("usuId") != null && !req.getParameter("usuId").equals("")) 
        	{ 
            parametro = req.getParameter("usuId");
            i = Integer.parseInt(parametro);
            usuario.setUsuCodigo(i); 
            userdao.ExcluirUsuario(usuario);  
            this.usuario = new Usuario();
        	}
		return "";		
	}
	
public String onList(){        
       
        System.out.println("parametro = "+this.parametro);
		return "";		
	}
	
	
	
}

página jsf

<h:form id="formdatatable">
					<p:panel >	
					<p:dataTable id="dattusuarios" var="users" value="#{usuarioBean.user}" style="text-align:center" paginator="true" rows="10" rowKey="#{users.usuCodigo}" >
					
					<f:facet name="header">Tabela de Usuarios</f:facet>
					
					<p:column headerText="Código" style="width:8%">  
			            <p:cellEditor>  
			                <f:facet name="output">  
			                    <h:outputText value="#{users.usuCodigo}" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:password value="#{users.usuCodigo}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
        				           		
	           		<p:column headerText="Nome do Usuário" style="width:30%">  
			            <p:cellEditor>  
			                <f:facet name="output">  
			                    <h:outputText value="#{users.usuNome}" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:inputText value="#{users.usuNome}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
			        
			        <p:column headerText="Tipo de Usuário" style="width:30%">  
			            <p:cellEditor>  
			                <f:facet name="output" >  
		                    <h:outputText value="#{users.usuTipoUsuario}" align="center" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:inputText value="#{users.usuTipoUsuario}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
			        
			        <p:column headerText="Senha" style="width:30%">  
			            <p:cellEditor>  
			                <f:facet name="output">  
			                    <h:outputText value="#{users.usuSenha}" />  
			                </f:facet>  
			                <f:facet name="input">  
			                    <p:password value="#{users.usuSenha}" style="width:100%"/>  
			                </f:facet>  
			            </p:cellEditor>  
			        </p:column>  
			        
			        <p:column headerText="Editar" style="width:5%"> 
            			<p:commandButton onclick="confirmationEdit.show()" icon="ui-icon-document-b" action="#{usuarioBean.onList}" >
            				<f:setPropertyActionListener value="#{users.usuCodigo}" target="#{usuarioBean.parametro}" />            				  
						</p:commandButton>  
        			</p:column>  
        			<p:column headerText="Excluir" style="width:5%"> 
            			<p:commandButton action="#{usuarioBean.onCancel}" icon="ui-icon-trash"  onclick="confirmation.show()" >             				
            				<f:param value="#{users.usuCodigo}" name="usuId" />  
            			</p:commandButton>
        			</p:column>       	
					</p:dataTable>
					</p:panel >	
					</h:form>
					
					<p:dialog  header="Edição do Usuário"  widgetVar="confirmationEdit"  resizable="false" id="usuDialog" showEffect="fade" hideEffect="explode" modal="true"  >  
				     	 <h:panelGrid id="display" columns ="2">
				         
				         	<h:outputLabel value="Código do Usuário : " /> 
			             	<h:outputLabel value="#{usuarioBean.painel.usuCodigo}" />  
			             	
				         	<h:outputLabel value="Nome do Usuário : " /> 
			             	<p:inputText value="#{usuarioBean.painel.usuNome}" style="width:100%" required="true"/>  
			                
			                <h:outputLabel value="Tipo de Usuário : " /> 
			                <p:inputText value="" style="width:100%" required="true" requiredMessage="Digite o tipo de usuário!"/>  
			               
			               	<h:outputLabel value="Senha : " /> 				        	 
				            <p:password value="" style="width:100%" required="true" feedback="true" promptLabel="Por favor, Digite a senha" weakLabel="Fraco" goodLabel="Boa" strongLabel="Forte" requiredMessage="Digite a senha de usuário!"/>  
				         
				     		<p:commandButton value="Alterar" icon="ui-icon-check" actionListener="#{usuarioBean.onEdit}" update=":formdatatable" process="@this" oncomplete="confirmationEdit.hide()" >  
				      			
				      		</p:commandButton>
				        	<p:commandButton value="Cancelar" icon="ui-icon-close" oncomplete="confirmationEdit.hide()"/>       
					</h:panelGrid>					
				 </p:dialog> 

[/quote]