Olá pessoal,
Venho mais uma vez pedir a ajuda de vocês para tirar essa dúvida.
Eu uso o <p:autoComplete> em várias páginas da minha aplicação.
Em alguns campos foi-me requisitado que já viessem preenchidos com um valor default.
Por exemplo:
Num campo Cidade vir preenchido com “São Paulo”.
Como posso fazer isso de uma forma simples? :roll:
<p:autoComplete id="acSimple" value="#{autoCompleteBean.txt1}"
completeMethod="#{autoCompleteBean.complete}"/>
Ao usuário entrar na tela, basta no seu bean você fazer
txt1 = "São Paulo";
Então,
Eu pensei em fazer isso, porém eu uso o autoComplete assim:
<p:autoComplete id="acForceEstado" size="2" forceSelection="true"
value="#{pacienteBean.paciente.pessoa.endereco.estado}"
completeMethod="#{contextoBean.completeEstado}" var="e"
itemLabel="#{e.sigla}" itemValue="#{e}"
converter="estadoConversor" title="Nome do estado" />
Porque eu salvo o id da informação que está no value.
E em outro momento também resgato a informação salva.
Preciso resolver isso de uma outra forma…mas obrigada pela resposta 
Mais alguma idéia?
Basta o seu value="#{pacienteBean.paciente.pessoa.endereco.estado}" receber o valor inicial que você quer ao se entrar na tela uai.
Nesse caso, o seu paciente iria receber um estado padrão, no caso, o valor default como o estado de São Paulo.
Certo, eu consigo implementar dessa forma.
Porém, quando a informação for passada pro bean, o objeto não vai estar preenchido, ou seja, o id vai chegar nulo.
Aí vou ter erro na hora de salvar, porque ele não sabe qual é o objeto.
:roll:
Estou vendo que não há modo simples de fazer isso, rs.
[quote=julynhaprado]Certo, eu consigo implementar dessa forma.
Porém, quando a informação for passada pro bean, o objeto não vai estar preenchido, ou seja, o id vai chegar nulo.
Aí vou ter erro na hora de salvar, porque ele não sabe qual é o objeto.
:roll:
Estou vendo que não há modo simples de fazer isso, rs.[/quote]
Você pode colocar esse cara na memória uai, com id e tudo que você precisa. [=
Quando der um new Paciente() você japreenche o estado em seguida.
Ex.: Paciente p = new Paciente();
Endereco e = new Endereco();
e.setEstado(“SP”);
p.setEndereco(e);
Caso estado seja um objeto de uma classe Estado, você instancia a classe e joga o objeto através do setEstado. Simples.
ressuscitando em 3…2…1
Eu tenho uma situação parecida,
Eu tenho uma pagina de abertura de chamado, onde eu tenho um atalho que abre para uma pagina em uma nova guia do cadastro de um solicitante,
quando eu vou salvar esse cliente, eu queria setar ele na no autocomplete para deixar ele preenchido.
[code]//Parte onde faço essa referência
ChamadoMBean chamadoMBean = (ChamadoMBean) FacesContext.getCurrentInstance().getApplication().getVariableResolver().resolveVariable(FacesContext.getCurrentInstance(), “ChamadoMBean”);
chamadoMBean.getChamado().setCliente(this.cliente);[/code]
…depurando verifiquei que o cliente é setado ao chamado que estou abrindo, pois o ChamadoMBean é Session. Na página da abertura do chamado, coloquei um botão para atualizar os input’s, porém quando eu atualizo o AutoComplete e outros dois combos que são preenchidos em cascata com os setores e funcionários daquele cliente, o AutoComplete seta null na minha propriedade.
[code]<p:autoComplete value="#{ChamadoMBean.chamado.cliente}" disabled="#{ChamadoMBean.tabAbertura}" queryDelay=“1000”
id=“comboClienteSolicitante” completeMethod="#{FuncionarioClienteMBean.completarClientes}"
var=“cli” itemLabel="#{cli.nomeFantasia.concat(’ - ').concat(cli.endereco.estado)}" itemValue="#{cli}" converter=“clienteConverter” forceSelection=“true”
style=“text-transform: uppercase;”>
<p:ajax event="itemSelect" listener="#{ChamadoMBean.preencherListaSetores()}" update="comboSelecionaSetor"/>
<p:ajax event="itemSelect" update="comboFuncionarioCliente"/>
</p:autoComplete>[/code]