Exibir dados de um DataTable em um dialog - PrimeFaces

Boa madrugada galera, estou fazendo um cadastro simples com apenas o código e nome. E tenho uma dataTable com varios registros(inseridos direto do banco). Como eu posso fazer, para quando eu selecionar um desses registros e clicar em editar, abrir o diolog(que esta no mesmo xhtml) e exibir o nome em um inputText.

Irei postar o xhtml(Todo e depois por partes) e o Bean.

xhtml

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui" 
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">      
<script type="text/javascript" src="Script.js"></script> 

    <h:form id="frmGERSRPAI">
        <p:dialog header="Países cadastrados" widgetVar="dlgGERSRPAI" width="570" height="400" minimizable="true" closable="false" 
                  resizable="false">
            
            <p:commandLink onclick="#{beanGERSRPAI.novo()}" oncomplete="dlgGERPRPAI.show()" update="display">
                <p:graphicImage value="/imagens/novo.png"  style="border: none;"/>
            </p:commandLink> 

            <p:commandLink oncomplete="dlgGERPRPAI.show()" update="display">
                        <p:graphicImage value="/imagens/editar.png" style="border: none;"/>
            </p:commandLink> 

            <p:commandLink onclick="exclusao.show()">
                <p:graphicImage value="/imagens/excluir.png"  style="border: none;"/>
            </p:commandLink> 

            <p:commandLink onclick="dlgGERSRPAI.hide()" update="GERTBPAI">
                <p:graphicImage value="/imagens/fechar.png" style="border: none;"/>
            </p:commandLink> 
            <br/><br/>

            <p:dataTable id="GERTBPAI" var="GRLTBPAI" value="#{beanGERSRPAI.listaGERTBPAI}" rowKey="#{GRLTBPAI.gerNomePai}" 
                         selection="#{beanGERSRPAI.GRLTBPAI}" selectionMode="single" emptyMessage="Não há país cadastrado"
                         paginator="true" rows="8" paginatorPosition="top"
                         paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}">
                
                <f:facet name="header" />
                
                <p:column headerText="Código" style="width: 80px"  sortBy="#{GRLTBPAI.gerPkCodPai}" filterBy="#{GRLTBPAI.gerPkCodPai}" filterMaxLength="3" 
                          filterStyle="width: 80px">                    
                    <h:outputText value="#{GRLTBPAI.gerPkCodPai}" />
                </p:column>
                
                <p:column headerText="Nome" style="width: 400px" sortBy="#{GRLTBPAI.gerNomePai}" filterBy="#{GRLTBPAI.gerNomePai}" filterStyle="width: 400px">
                    <h:outputText value="#{GRLTBPAI.gerNomePai}" />
                </p:column>

            </p:dataTable>
            
        </p:dialog>
        
        <p:dialog header="Virtualizze" widgetVar="exclusao" resizable="false" closable="false" modal="true">
            <center>
                <h:outputText value="Deseja excluir o registro ?" /> <br/> <br/>
                <p:commandButton value="Não" onclick="exclusao.hide()" update="GERTBPAI"/>                
            </center>
        </p:dialog>     
        
        <p:dialog  header="Cadastrar país" widgetVar="dlgGERPRPAI" width="500" height="130" minimizable="true" closable="false" 
                  resizable="false" modal="false">
            
            <h:panelGrid id="display" columns="1">
                <h:outputText value="Nome"/>
                <p:inputText value="#{beanGERSRPAI.GRLTBPAI.gerNomePai}" style="width: 450px"/>
            </h:panelGrid> <br/>
            
            <center>
                <p:commandButton value="Salvar" action="#{beanGERSRPAI.salvar()}" oncomplete="dlgGERPRPAI.hide()" update="GERTBPAI"/>
                <p:commandButton value="Cancelar" onclick="dlgGERPRPAI.hide()"/>
            </center>
        </p:dialog>
                
    </h:form>

</html>

Bean

package controller;

import entidades.Gertbpai;
import hibernate.HibernateUtil;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import org.hibernate.Session;

@ManagedBean
@RequestScoped
public class BeanGERSRPAI {
    
    private List<Gertbpai> listaGERTBPAI;
    private Gertbpai GRLTBPAI;

    public Gertbpai getGRLTBPAI() {
        return GRLTBPAI;
    }

    public void setGRLTBPAI(Gertbpai GRLTBPAI) {
        this.GRLTBPAI = GRLTBPAI;
    }
    

    public List<Gertbpai> getListaGERTBPAI() {
        return listaGERTBPAI;
    }


    public BeanGERSRPAI() {
        GRLTBPAI = new Gertbpai();
        listaGERTBPAI = new ArrayList<Gertbpai>();
        carregarLista();        
    }
    
    public void carregarLista() {
        try {
            Session session = HibernateUtil.getSessionFactory().getCurrentSession();
            session.beginTransaction();
            listaGERTBPAI = session.createQuery("FROM Gertbpai").list();
            session.getTransaction().commit();
        } catch(Exception ex) {
            System.out.println(ex.toString());
        }    
    }
    
    public void novo() {
        GRLTBPAI = new Gertbpai();        
    }
    
    public void salvar() {
        try {
            Session session = HibernateUtil.getSessionFactory().getCurrentSession();
            session.beginTransaction();
            session.save(getGRLTBPAI());
            session.getTransaction().commit();
        } catch(Exception ex) {
            System.out.println(ex.toString());
        }            
    }
    
}

A parte do DataTable

<p:dataTable id="GERTBPAI" var="GRLTBPAI" value="#{beanGERSRPAI.listaGERTBPAI}" rowKey="#{GRLTBPAI.gerNomePai}" 
                         selection="#{beanGERSRPAI.GRLTBPAI}" selectionMode="single" emptyMessage="Não há país cadastrado"
                         paginator="true" rows="8" paginatorPosition="top"
                         paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}">
                
                <f:facet name="header" />
                
                <p:column headerText="Código" style="width: 80px"  sortBy="#{GRLTBPAI.gerPkCodPai}" filterBy="#{GRLTBPAI.gerPkCodPai}" filterMaxLength="3" 
                          filterStyle="width: 80px">                    
                    <h:outputText value="#{GRLTBPAI.gerPkCodPai}" />
                </p:column>
                
                <p:column headerText="Nome" style="width: 400px" sortBy="#{GRLTBPAI.gerNomePai}" filterBy="#{GRLTBPAI.gerNomePai}" filterStyle="width: 400px">
                    <h:outputText value="#{GRLTBPAI.gerNomePai}" />
                </p:column>

            </p:dataTable>

o dialog

 <p:dialog  header="Cadastrar país" widgetVar="dlgGERPRPAI" width="500" height="130" minimizable="true" closable="false" 
                  resizable="false" modal="false">
            
            <h:panelGrid id="display" columns="1">
                <h:outputText value="Nome"/>
                <p:inputText value="#{beanGERSRPAI.GRLTBPAI.gerNomePai}" style="width: 450px"/>
            </h:panelGrid> <br/>
            
            <center>
                <p:commandButton value="Salvar" action="#{beanGERSRPAI.salvar()}" oncomplete="dlgGERPRPAI.hide()" update="GERTBPAI"/>
                <p:commandButton value="Cancelar" onclick="dlgGERPRPAI.hide()"/>
            </center>
        </p:dialog>

o Commandlink do editar

            <p:commandLink onclick="dlgGERPRPAI.show()" update="display">
                        <p:graphicImage value="/imagens/editar.png" style="border: none;"/>
            </p:commandLink> 

Desde já, obrigado.

Observação: Como podem perceber o DataTable ja seleciona uma linha quando clica

Saudações Virtualizze.

É bem simples cara.
Acrescente o esses parametros à sua DataTable

    selection="#{tableBean.selectedCar}" selectionMode="single">

Esse selectedCar é o seu objeto que será manipulado do dialog.
O modo de selecionar, no caso single, permite selecionar apenas uma linha.

Dê uma olhada na documentação, existem outras formas de fazer isso usando ajax.

http://www.primefaces.org/showcase/ui/datatableRowSelectionSingle.jsf

Não funcionou.