Preencher formulario com dados de uma datatable (JSF)

boa tarde, sou iniciante em JSF, e estou com uma dúvida, tenho um formulario de cadastro de atendimento, neste formulario irei pesquisar um funcionario e um cliente, fiz um botao de busca que chama um diálogo que contém um datatable que traz todos os resultados do banco de dados do funcionario, e coloquei um botão para poder selecionar a linha desejada. porém eu não estou conseguindo pegar este valor e jogar para a minha pagina que contém meu formulario.

Olá, @Dell_Pernambuco.

Mostre-nos a sua implementação atual, por favor. O formulário está na mesma view da caixa de diálogo?
Posta suas views e MB’s para facilitar o auxílio.

Abs

RN

cadastrarGuiaAtendimento.xhtml (4.7 KB)selecaoPaciente.xhtml (1.7 KB)GuiaAtendimento.java (9.5 KB)
public void pacienteSelecionado(SelectEvent event) {
Paciente paciente = (Paciente) event.getObject();
this.setPaciente(paciente);
}
public void abrirDialogo(){
Map<String, Object> opcoes = new HashMap<>();
opcoes.put(“modal”, true);
opcoes.put(“resizable”, false);
opcoes.put(“contentHeight”, 470);
opcoes.put(“draggable”, false);

    RequestContext.getCurrentInstance().openDialog("selecaoPaciente", opcoes, null);
}

public void selecionar(Paciente paciente){
    RequestContext.getCurrentInstance().closeDialog(paciente);
}
<p:commandButton icon="ui-icon-check" title="Selecionar" action="#{controlePaciente.selecionar(paciente)}" 
     <f:setPropertyActionListener target="#{controlePaciente.selectedPaciente}" value="#{car}" />
</p:commandButton>

Onde está o ManagedBean do controlePaciente? Está utilizando qual tipo de escopo neste bean?

Uma coisa que eu mudaria na sua implementação seria deixar as responsabilidades mais definidas. Por exemplo, no código abaixo você manda o atributo para uma entidade a qual também atua como managed bean

<p:commandButton icon="ui-icon-search" title="Pesquisar" process="@this" update="@none"
             action="#{controlePaciente.abrirDialogo()}"
             <p:ajax event="dialogReturn" listener="#{guiaatendimento.pacienteSelecionado(event)" process="@this" update="pac_guiaAtend"/>
             <p:resetInput target="pac_guiaAtend"/>
</p:commandButton>

Minha sugestão seria implementar um PesquisaGuiaAtendimentoBean como managed bean, recebendo uma entidade de paciente para ser populada (getter e setter). Logo, vincularia o nome do paciente ao objeto Paciente do MB PesquisaGuiaAtendimento, bem como na selecaoPaciente.

Não sei se esta alteração se aplica ao seu caso, mas como não anexou o bean controlePaciente fica apenas como sugestão.

`tenta isso:

private DataModel dataModelFuncionarios;

public DataModel getDataModelFuncionarios( ){
if( dataModelFuncionarios == null){
dataModelFuncionarios = new ListDataModel(suaClasseDeServico.metodoQueRetornaListaDeFuncionario);
}
return dataModelFuncionarios;
}

public Funcionario getFuncionarioSelecionado( ){
return (Funcionario) dataModelFuncionarios.getRowData( );

}
acredito que seja isso
`

Consegui resolver, e de uma maneira bem mais simples!!! Mt agradecido pela ajuda pessoal.