I have a page that does the search for a client and returns a datatable, with this return I would select the client that was selected and popular another inputText with the data that were selected in the dataTable
My page:
<h:form id="frmCadProduto">
<p:panel header="Pesquisar Cliente">
<p:messages/>
<p:panelGrid columns="5" id="panelProduto">
<p:outputLabel value="Nome: " />
<p:inputText value="#{cadastroClienteBean.cliente.nome}"/>
<p:outputLabel value="CPF: " />
<p:inputText value="#{cadastroClienteBean.cliente.cpf}"/>
<p:commandButton value="Pesquisar" action="#{cadastroClienteBean.pesquisarCliente()}" update=":frmCadProduto:dtCadCliente"/>
</p:panelGrid>
</p:panel>
<p:panel header="Lista de Cliente Cadastrados">
<p:dataTable value="#{cadastroClienteBean.listaCliente}" var="cliente"
selectionMode="single" emptyMessage="Não há registros"
rowKey="#{cliente.idCliente}" id="dtCadCliente"
selection="#{cadastroClienteBean.clienteSelecionado}">
<p:column headerText="Nome">
<f:facet name="header"/>
<h:outputLabel value="#{cliente.nome}"/>
</p:column>
<p:column headerText="CPF">
<f:facet name="header"/>
<h:outputLabel value="#{cliente.cpf}"/>
</p:column>
<p:column headerText="Selecionar">
<f:facet name="header"/>
<p:commandButton value="Selecionar" action="#{cadastroClienteBean.preencherCampo()}" update=":frmCadProduto"/>
</p:column>
</p:dataTable>
</p:panel>
<p:panel header="Cliente Selecionado" >
<p:messages/>
<p:panelGrid columns="5" id="panelProduto2">
<p:outputLabel value="Nome: " />
<p:inputText value="#{cadastroClienteBean.cliente.nome}" /> // aqui que eu gostaria que fosse carregado os dados quando fosse selecionado no commandButton
<p:outputLabel value="CPF: " />
<p:inputText value="#{cadastroClienteBean.cliente.cpf}"/>
<p:commandButton value="Iniciar Compra" />
</p:panelGrid>
</p:panel>
in my Managed ManagedBean:
@ManagedBean
@SessionScoped
public class CadastroClienteBean {
private Cliente cliente;
private Cliente clienteSelecionado;
private List<Cliente> listaCliente;
public Cliente getCliente() {
if(cliente == null) {
cliente = new Cliente();
}
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public Cliente getClienteSelecionado() {
if(clienteSelecionado == null){
clienteSelecionado = new Cliente();
}
return clienteSelecionado;
}
public void setClienteSelecionado(Cliente clienteSelecionado) {
this.clienteSelecionado = clienteSelecionado;
}
public List<Cliente> getListaCliente() {
if(listaCliente == null){
ClienteDAO cd = new ClienteDAO();
listaCliente = cd.listarClientes();
}
return listaCliente;
}
public void setListaCliente(List<Cliente> listaCliente) {
this.listaCliente = listaCliente;
}
public void preencherCampo(){
setCliente(getClienteSelecionado());
}