apos o update do botao atualizar na pagina deveria atualizar a tabela, porem por tem no filterby"algo digitado"…acaba mostrando a tabela com o numero de objetos selecionados na dataTable antes de chamar o botao e tabela em branco…como faço para limpar o que esta no FILTERBY""…???
Não precisa ressuscitar tópicos antigos
Qual o escopo do teu ManagedBean? Session?
Outra coisa, você tem certeza que “limpa” os atributos usados no filterby quando estes não são necessários?
escopo é @SessionScoped
entao vou tentar explica melhor o q estou fazendo, é esse exemplo
http://www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf + filter para a colunas
e pede para criar uma entidade assim para funcionar os selection com multiples(esta trazendo corretamente os getProductSeletion).
public class ProductsDataModel extends ListDataModel<Products> implements SelectableDataModel<Products>{
public ProductsDataModel(){
}
public ProductsDataModel(List<Products> data){
super(data);
}
@Override
public Products getRowData(String rowKey) {
List<Products> produtos = (List<Products>) getWrappedData();
for (Products p : produtos) {
if(p.getPartNumber().equals(Long.valueOf(rowKey))){
return p;
}
}
return null;
}
o problema é que quan do eu executo o filter ele nao esta filtrando essa lista corretamente.
xhtml
<p:dataTable id="tableProdutos" value="#{pnMB.listDataModelProd}" var="q" emptyMessage="No Registry"
paginator="true" rows="50" editable="true"
paginatorTemplate= " {CurrentPageReport} {FirstPageLink} {PreviousPageLink}
{PageLinks} {NextPageLink} {LastPageLink}
{RowsPerPageDropdown}"
filteredValue="#{pnMB.listDataModelProdFilter}"
selection="#{pnMB.listDataModelProdFilter}" >
<p:column selectionMode="multiple" style="width:2%" />
<p:column id="SegmentColumn" headerText="SEGMENT" filterBy="#{q.descSegment}" filterMatchMode="startsWith"
filterStyle="width: 40px;">
<h:outputText value="#{q.descSegment}" />
</p:column>
:
:
:
Bean
private ProductsDataModel listDataModelProd;
private ProductsDataModel listDataModelProdFilter;
public ProductsDataModel getListDataModelProd() {
listDataModelProd = new ProductsDataModel(getListaProdutos());
return listDataModelProd;
}
public List<Products> getListaProdutos(){
listaProdutos = new ArrayList<>();
ProdutoDao pDao = new ProdutoDao();
listaProdutos = pDao.retornaListaProdutos();
return listaProdutos;
}
gets e sets...
obrigado
Você sabe como funcionam os escopos? SessionScoped, ViewScoped e RequestScoped?
não, diz ae como?
e isso ira afetar a parte da tabela do filtro??
[quote=b10machado]não, diz ae como?
e isso ira afetar a parte da tabela do filtro??[/quote]
Sugiro que leia o blog do hebert coelho aqui. Nele você encontra muita informação sobre isso.
Sugiro, também, pesquisar pela diferença entre eles.
Sim, irá afetar.
as outras paginas estão funcionando corretamente com o session
acredito que seja algo com o “var = q” da data table
<p:column id="ativo" headerText="Ativo" filterBy="#{[b]q.getRowData(rowKey)[/b]}" filterMatchMode="startsWith"
filterStyle="width: 40px;" >
<h:outputText value="#{[b]q.ativo[/b]}"/>
</p:column>
alguem???