Bom pessoal, Estou com o seguinte problema:
Estou utilizando uma suggestionbox para retornar uma lista de objetos pesquisados no banco através de uma função que executa a HQL Ao selecionar o objeto que o usuario deseja, ele enviará o código do objeto para o campo ‘codigo’. Dentro do campo código há um a4j:support com event=“onblue” para que, ao sair do foco do campo ‘codigo’ ele realiza a busca da descrição do objeto através do código.
Porém, o suggestionbox não funciona, ou nao consegue carregar o campo ‘codigo’ se eu nao colocar o atributo ajaxSingle=“true”. O mesmo acontece com no campo ‘codigo’ ao buscar a descrição do objeto: ele não consegue carregar sem que haja o atributo ajaxSingle=“true”.
O problema é o seguinte, ao colocar o ajaxSingle=“true”, quando o ajax é executado, meus outros campos de entrada(h:InputText) perdem os valores digitados.
Alguem sabe o que está acontecendo?
Seque o código:
SuggestionBox:
<rich:suggestionbox for="descNaturezaIn" suggestionAction="#{bRLiquidacoes.autoCompletaNatureza}" var="result"
width="325" id="sugNatureza" minChars="0" nothingLabel="Sem Resultados"
fetchValue="#{result.descricao}">
<h:column id="col1">
<h:outputText id="out11" value="#{result.codigo}"/>
</h:column>
<h:column id="col2">
<h:outputText id="out12" value="#{result.descricao}"/>
</h:column>
<a4j:support id="a4j5" focus="codNaturezaIn" event="onselect" reRender="codNaturezaIn, descNaturezaIn" ajaxSingle="true">
<f:setPropertyActionListener value="#{result.codigo}" target="#{bRLiquidacoes.codNat}"/>
</a4j:support>
</rich:suggestionbox>
Campo código:
<h:inputText id="codNaturezaIn" size="8" binding="#{bRLiquidacoes.natIn}">
<a4j:support id="a4j3" event="onblur" action="#{bRLiquidacoes.buscaNatureza}" reRender="descNaturezaIn, codNaturezaIn, sugNatureza" ajaxSingle="true"/>
</h:inputText>
<f:setPropertyActionListener value="#{result.codigo}" target="#{bRLiquidacoes.codNat}"/>
</a4j:support>
</rich:suggestionbox>