Eu to com um projeto onde em uma ele lista os produtos de acordo com a pesquisa, porém, quando esse produto é atualizado, o datatable só mostra a atualização depois q eu saio da conversação e entro novamente. Como eu posso fazer para meu datatable reenderizar a consulta sem ter que sair da conversação??
Segue o código:
Aqui eu monto a tabela a ser apresentada
@DataModel
private List<Produto> produtos;
public void find(){
page = 0;
consultaProdutos();
}
public void nextPage(){
page++;
consultaProdutos();
}
private void consultaProdutos(){
produtos = em.createQuery("select p from Produto p where lower(p.codigo) like #{pattern} or lower(p.modelo) like #{pattern} or lower(p.marca) like #{pattern}")
.setMaxResults(pageSize)
.setFirstResult( page * pageSize )
.getResultList();
}
@Factory(value="pattern", scope=ScopeType.EVENT)
public String getSearchPattern(){
return searchString==null ?
"%" : '%' + searchString.toLowerCase().replace('*', '%') + '%';
}
Aqui o código da página
<h:inputText id="searchCodigo" value="#{consultas.searchString}" style="width: 165px;">
<a:support id="onkeyup" event="onkeyup" actionListener="#{consultas.find}" reRender="searchResults" />
</h:inputText>  
<a:commandButton id="findProducts" value="Find Product" action="#{consultas.find}" reRender="searchResults" />
<a:outputPanel id="searchResults">
<div class="section">
<h:outputText id="NoProductsFoundMessage" value="No Products Found" rendered="#{produtos != null and produtos.rowCount==0}"/>
<h:dataTable id="produtos" value="#{produtos}" var="pro" rendered="#{produtos.rowCount>0}">
<h:column id="column1">
<f:facet id="ProductCode" name="header">Code</f:facet>
#{pro.codigo}
</h:column>
<h:column id="column2">
<f:facet id="ProductModel" name="header">Model</f:facet>
#{pro.modelo}
</h:column>
<h:column id="column3">
<f:facet id="ProductBrand" name="header">Brand</f:facet>
#{pro.marca}
</h:column>
<h:column id="column4">
<f:facet id="ProductSize" name="header">Size</f:facet>
#{pro.tamanho}
</h:column>
<h:column id="column5">
<f:facet id="ProductLocation" name="header">Location</f:facet>
#{pro.localidade}
</h:column>
</h:dataTable>
<s:link id="MoreResultsLink" value="More results" action="#{consultas.nextPage}" rendered="#{consultas.nextPageAvailable}" />
</div>
</a:outputPanel>
Se alguém puder ajudar eu agradeço muito