Olá amigos, estou com um problema com o PrimeFaces.
Na mesma pagina eu tenho um formulario e uma lista, clicando no registro da lista, eu consigo editar a linha, preenchendo o formulario.
ao salvar, o sistema nào atualiza* a lista do formulario.
Etapas:
Eu utilizo no cabeçalho das colunas o filtro
Digamos que eu filtre todos os contatos cadastrados no dia 13.
Ele me exibe 5 Contatos.
Atualizo um desses contatos mudando para o dia para 14 e salvo(submetendo o formulário e alterando o objeto da lista).
O sistema atualiza o registro na lista, indicando a data como 14, porem, o registro deveria desaparecer da lista, já que o filtro está pegando apenas os contatos do dia 13.
Se eu digitar algo no filtro, ele atualiza a lista corretamente, não exibindo o registro com a data divergente.
Como ele não está sumindo com o registro, se eu tentar edita-lo novamente, irá pegar o registro da linha abaixo ou da erro se o registro for único ou ultimo da lista.
O que eu preciso, é que o sistema mantenha o filtro das colunas e quando atualizar o registro, no caso, quando sair das condições do filtro, ele deve desaparecer da listagem.
a minha estrutura está assim:
<h:form id="contatoForm">
<p:panel id="painelCadastro" header="Cadastrar Novo Contato" style="text-align:left;width:800px;">
<h:panelGrid columns="2" width="545">
<h:outputLabel value="Nome do Contato" />
<h:inputText id="nome" value="#{contatoController.contato.nome}"
size="20" />
<h:outputLabel value="Data Cadastro" />
<p:calendar value="#{contatoController.contato.dtCad}" size="10"
pattern="dd/MM/yyyy" showOn="button" />
<p:commandButton value="Salvar"
action="#{contatoController.gravar}"
ajax="true" update="contatoForm, contatoForm:painelCadastro,contatoForm:pnlConsulta,contatoForm:tblContatos, contatoForm:tblContatos:clnData">
</p:commandButton>
<p:panelGrid id="pnlConsulta" header="Lista de contatos cadastrados"
style="text-align:left; width:1250px;" rendered="true" columns="1">
<p:dataTable value="#{contatoController.listaContatos}" id="tblContatos"
emptyMessage="Nenhum registro encontrado" rowIndexVar="var"
paginator="true" paginatorPosition="bottom"
firstPageLinkLabel="Primeira" previousPageLinkLabel="Anterior"
nextPageLinkLabel="Proxima" lastPageLinkLabel="ultima" rows="50"
var="contato" style="font-size:0.9em;" >
<p:column filterBy="#{contato.nome}" filterMatchMode="contains" sortBy="#{contato.nome}">
<f:facet name="header">
<h:outputText value="Nome" style="font-size:1.0em; font-weight:bold;" />
</f:facet>
<h:outputText value="#{contato.nome}" />
</p:column>
<p:column filterBy="#{contato.dtCadStr}"
sortBy="#{contato.dtCad}" style="width: 150px;" id="clnData">
<f:facet name="header">
<h:outputText value="Data Cadastro" style="font-size:1.0em; font-weight:bold;" />
</f:facet>
<h:outputText value="#{contato.dtCadStr}" styleClass="letra1" />
</p:column>
</p:dataTable>
</p:panelGrid>
</h:form>
PrimeFaces versão 3.1 - baixado em 28/01/2012
Alguém tem alguma ideia do que pode ser feito?