[Resolvido] Autocomplete retornando lista se baseando nos valores de outros campos. Como faço?

Imagens falam melhor que palavras…

Quero retornar o endereço da rua mas pra isso tenho que passar a cidade e o estado. Já tentei muitas formas e não consegui, até porque não tô entendendo mas acho que quando faço uma requisição ajax pelo autocomplete ele não seta os valores da cidade e do estado, isso acontece apenas quando dou um avançar no wizard, talvez porque o autocomplete processe e atualize apenas ele mesmo (mesmo eu tentando atualizar os outros campos através de outras requisições ajax dentro das tags autocomplete…

Alguém pode me dar uma dica de como faço isso? Valeu!!!

<h:panelGrid columns="6" style="margin: 0 auto;">
                                    <h:outputText value="Logradouro:" style="font-weight:bold" />
                                    <p:autoComplete global="true" id="autoCompleteEnderecoCidadesLogradouro" completeMethod="#{cidadeMB.autoCompletaEnderecoPojo}" process="@all"
                                                    value="#{cidadeMB.enderecoTemp}" var="e" itemValue="#{e}" itemLabel="#{cidadeMB.cidade.endereco.logradouro}" converter="enderecoConverter"
                                                    forceSelection="true" minQueryLength="5" maxResults="15" queryDelay="800" styleClass="textoLogradouro">
                                        
                                        <p:column>#{e.logradouro}</p:column>
                                        <p:column>#{e.cep}</p:column>
                                        <p:column>#{e.uf}</p:column>
                                        
                                        <p:ajax event="itemSelect" listener="#{cidadeMB.handleSelecaoDeEndereco}"
                                                update=":tabViewSistema:tabViewCadastro:formAddCidades:panelAddCidadesT3"/>

                                    </p:autoComplete>
                                    <p:tooltip for="autoCompleteEnderecoCidadesLogradouro" value="Este campo possui auto-completa" showEffect="fade" hideEffect="fade"/>
                                    <h:outputText value="CEP:" style="font-weight:bold" />
                                    <p:inputMask id="autoCompleteEnderecoCidadesCEP" value="#{cidadeMB.cidade.endereco.cep}" mask="99999-999" style="width: 80px;"/>
                                    <p:commandButton global="true" actionListener="#{cidadeMB.handleConsultaCep}" icon="ui-icon-search" title="Consulta nos correios e autopreenche"
                                                     update=":tabViewSistema:tabViewCadastro:formAddCidades:panelAddCidadesT3"/>
                                </h:panelGrid>
                                <h:panelGrid columns="6" style="margin-left: 103px;">
                                    <h:outputText value="Número:" style="font-weight:bold" />
                                    <p:inputText value="#{cidadeMB.cidade.endereco.numero}" style="width: 50px;"/>
                                    <h:outputText value="Bairro:" style="font-weight:bold" />
                                    <p:inputText value="#{cidadeMB.cidade.endereco.bairro}" style="width: 145px;"/>
                                    <h:outputText value="Cidade:" style="font-weight:bold" />
                                    <p:inputText value="#{cidadeMB.cidade.endereco.cidade}" style="width: 145px;"/>
                                </h:panelGrid>
                                <h:panelGrid columns="2" style="margin: 0 auto;">
                                    <h:outputText value="UF:" style="font-weight:bold" />
                                    <p:selectOneMenu value="#{cidadeMB.cidade.endereco.uf}" editable="false">
                                        <f:selectItem itemLabel="AC - Acre" itemValue="AC"/>
                                        <f:selectItem itemLabel="AL - Alagoas" itemValue="AL" />
                                        <f:selectItem itemLabel="AP - Amapá" itemValue="AP" />
                                        <f:selectItem itemLabel="AM - Amazônia" itemValue="AM" />
                                        <f:selectItem itemLabel="BA - Bahia" itemValue="BA" />
                                        <f:selectItem itemLabel="CE - Ceará" itemValue="CE" />
                                        <f:selectItem itemLabel="DF - Distrito Federal" itemValue="DF" />
                                        <f:selectItem itemLabel="ES - Espírito Santo" itemValue="ES" />
                                        <f:selectItem itemLabel="GO - Goiás" itemValue="GO" />
                                        <f:selectItem itemLabel="MA - Maranhão" itemValue="MA" />
                                        <f:selectItem itemLabel="MT - Mato Grosso" itemValue="MT" />
                                        <f:selectItem itemLabel="MS - Mato Grosso do Sul" itemValue="MS" />
                                        <f:selectItem itemLabel="MG - Minas Gerais" itemValue="MG" />
                                        <f:selectItem itemLabel="PA - Pará" itemValue="PA" />
                                        <f:selectItem itemLabel="PB - Paraíba" itemValue="PB" />
                                        <f:selectItem itemLabel="PR - Paraná" itemValue="PR" />
                                        <f:selectItem itemLabel="PE - Pernanbuco" itemValue="PE" />
                                        <f:selectItem itemLabel="PI - Piauí" itemValue="PI" />
                                        <f:selectItem itemLabel="RJ - Rio de Janeiro" itemValue="RJ" />
                                        <f:selectItem itemLabel="RN - Rio Grande do Norte" itemValue="RN" />
                                        <f:selectItem itemLabel="RS - Rio Grande do Sul" itemValue="RS" />
                                        <f:selectItem itemLabel="RO - Roraima" itemValue="RO" />
                                        <f:selectItem itemLabel="RR - Rondônia" itemValue="RR" />
                                        <f:selectItem itemLabel="SC - Santa Catarina" itemValue="SC" />
                                        <f:selectItem itemLabel="SP - São Paulo" itemValue="SP" />
                                        <f:selectItem itemLabel="SE - Sergipe" itemValue="SE" />
                                        <f:selectItem itemLabel="TO - Tocantins" itemValue="TO" />
                                    </p:selectOneMenu>
                                </h:panelGrid>
                            </p:panel>

Vinicius, aqui tem um exemplo de como fazer isso utilizando Ajax: http://uaihebert.com/?p=669

Bom dia Hebert, antes de postar aqui dei uma zapeada no teu site mas na minha pressa não tinha encontrado hehe, você é o cara! Muito bom o site, sempre olho!
Vou dar uma olhada no link que você me repassou e ver aqui se consigo, valeu obrigado! :smiley:

Só um adendo a pergunta, estou usando primefaces, então a uso <p:ajax> usando process ao invés de execute e update ao invés de render, certo?

Valeu!

[quote=Vin?ius Abreu de Fran?]Só um adendo a pergunta, estou usando primefaces, então a uso <p:ajax> usando process ao invés de execute e update ao invés de render, certo?

Valeu![/quote]Você tem que utilizar o do próprio primefaces, não me lembro os nomes direito! [=
Mas a idéia é essa. [=

Olá Hebert, rapaz… Já tentei de tudo aqui, usar <p:ajax>, <f:ajax>, passar o id do campo no process do autocomplete e nada de quando executo o método do autocomplete ele passar os valores dos outros campos para o ManagedBean, o que será que pode tá acontecendo?

Uma das minhas últimas tentativas e nada:

<p:autoComplete global="true" id="autoCompleteEnderecoCidadesLogradouro" completeMethod="#{cidadeMB.autoCompletaEnderecoPojo}" value="#{cidadeMB.enderecoTemp}" var="e" itemValue="#{e}" itemLabel="#{cidadeMB.cidade.endereco.logradouro}" converter="enderecoConverter" forceSelection="true" minQueryLength="5" maxResults="15" queryDelay="800" styleClass="textoLogradouro">
<!--                                        <p:ajax process=":tabViewSistema:tabViewCadastro:formAddCidades:testeCidadeInput" update=":tabViewSistema:tabViewCadastro:formAddCidades:testeCidadeInput"/>-->
<f:ajax execute=":tabViewSistema:tabViewCadastro:formAddCidades:testeCidadeInput" render=":tabViewSistema:tabViewCadastro:formAddCidades:testeCidadeInput"/>
                                        <p:column>#{e.logradouro}</p:column>
                                        <p:column>#{e.cep}</p:column>
                                        <p:column>#{e.uf}</p:column>
                                        
<p:ajax event="itemSelect" listener="#{cidadeMB.handleSelecaoDeEndereco}" update=":tabViewSistema:tabViewCadastro:formAddCidades:panelAddCidadesT3"/></p:autoComplete>

Bem, embora achar que estou fazendo uma gambiarra, consegui o que queria, então vou dar o tópico como encerrado.
Consegui seta os valores de cidade e estado Ajaxificando os campos, assim após qualquer mudança nos campos os valores são setados e apenas coloco um aviso dizendo que é necessário o preenchimento de cidade e estado para que a busca seja feita. Assim:

<p:inputText value="#{bean.cidade}">
<p:ajax event="change" process="@this"/>
</p:inputText>

<p:inputText value="#{bean.estado}">
<p:ajax event="change"  process="@this"/>
</p:inputText>

Obrigado a todos que leram esse tópico.