Olá Pessoal , tenho uma tabela com um filtro no campo nome, e um botão excluir a linha, quando o filtro está preenchido e mando excluir, é feita a exclusão recarrego a lista, mas na tela não é atualizado.
<p:dataTable id="tabelaGrupos"
value="#{grupoFornecedorBean.listaGruposDeFornecedores}"
var="grupoFornecedor" paginator="true" rows="10"
paginatorPosition="bottom"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
currentPageReportTemplate="( {currentPage} de {totalPages} )"
sortMode="multiple"
tableStyleClass="table table-bordered table-hover"
rowStyleClass="full-height-row"
emptyMessage="#{messages['launches.sem.registro']}"
rendered="#{not empty grupoFornecedorBean.listaGruposDeFornecedores}">
<p:column headerText="ID" sortBy="#{grupoFornecedor.id}">
<h:outputText value="#{grupoFornecedor.id}" />
</p:column>
<p:column headerText="Nome" sortBy="#{grupoFornecedor.nome}"
filterBy="#{grupoFornecedor.nome}" style="text-align:left;">
<h:outputText value="#{grupoFornecedor.nome}" />
</p:column>
<p:column headerText="Ação" width="9%" style="text-align:center;">
<p:commandButton styleClass="btn-unstyled" update="formGrupo"
process="@this"
action="#{grupoFornecedorBean.carregarGrupo(grupoFornecedor)}"
icon="fa-edit" />
<p:commandButton id="apagaGrupo" styleClass="btn-unstyled"
icon="fa-remove" title="Apaga esse grupo"
action="#{grupoFornecedorBean.excluirGrupo(grupoFornecedor)}"
ajax="true" process="@this" update="formTabelaGrupos"
immediate="true" onstart="PF('loadingBlock').block()"
oncomplete="PF('loadingBlock').unblock()" />
</p:column>
</p:dataTable>
e no meu bean
@PostConstruct
public void init() {
grupoFornecedor = new GrupoFornecedorVO();
buscarGrupos();
}
private void buscarGrupos() {
iniciaListaGruposDeFornecedores();
listaGruposDeFornecedores = this.grupoFornecedorService.listaTodos();
}
private void iniciaListaGruposDeFornecedores() {
listaGruposDeFornecedores = null;
}
public boolean excluirGrupo(GrupoFornecedorVO grupoFornecedor) {
boolean result = this.grupoFornecedorService.remove(grupoFornecedor);
if(!result) {
addErrorMessage( "Não é possivel excluir esse grupo, verifique se existe um fornecedor vinculado a esse grupo " + grupoFornecedor.getNome());
result = false;
} else {
init();
result = true;
}
return result;
}