Galera, alguem sabe como usar o filterby do prime?Tentei usar o código do demo do site, ele filtra direitinho mas na hora que eu clico em algum registros ele me retornam null
segui o exemplo do site e aki funciona q é uma maravilha!!!
Seu ManagedBean está como Session?
@viewscope
Não deu certo,os valores continuam a retornar null quando eu seleciono
Cola seu managed bean e o arquivo jsf aqui, fica + facil para ajudar
flw!
Bean:
[code]@ManagedBean
@SessionScoped
public class CategoriasBean {
private Categorias categoria=new Categorias();
private List<Categorias> categorias;
public void novo(){
categoria=new Categorias();
}
public void inserir()throws Exception{
categoria=new Categorias();
CategoriasDAO categoriasdao=new CategoriasDAO();
String retorno=categoriasdao.inserir(categoria);
FacesContext mensagem=FacesContext.getCurrentInstance();
if (retorno.equals("sucesso")){
mensagem.addMessage(null,new FacesMessage(FacesMessage.SEVERITY_INFO,"Cadastro salvo com sucesso!",null));
}
else{
mensagem.addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR,"Erro ao salvar!",null));
}
}
public void selecionar(Long codigo){
CategoriasDAO categoriadao=new CategoriasDAO();
categoria=categoriadao.selecionar(codigo);
}
public void alterar(){
CategoriasDAO categoriasdao=new CategoriasDAO();
String retorno=categoriasdao.alterar(categoria);
FacesContext mensagem=FacesContext.getCurrentInstance();
if(retorno.equals("sucesso")){
mensagem.addMessage(null,new FacesMessage(FacesMessage.SEVERITY_INFO,"Cadastro salvo com sucesso!",null));
}
else{
mensagem.addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR,"Erro ao salvar!",null));
}
}
public void remover(){
CategoriasDAO categoriasdao=new CategoriasDAO();
String retorno=categoriasdao.remover(categoria.getCodigo_interno());
FacesContext mensagem=FacesContext.getCurrentInstance();
if(retorno.equals("sucesso")){
mensagem.addMessage(null,new FacesMessage(FacesMessage.SEVERITY_INFO,"Cadastro excluido com sucesso!",null));
}
else{
mensagem.addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR,"Erro ao excluir!",null));
}
}
public Categorias getCategoria(){
return categoria;
}
public void setCategoria(Categorias categoria){
this.categoria=categoria;
}
public List<Categorias> getCategorias(){
CategoriasDAO categoriasdao=new CategoriasDAO();
categorias=categoriasdao.listar();
return categorias;
}
public void setCategorias(List<Categorias> categorias){
this.categorias=categorias;
}
[/code]
datatable:
<h:form id="formcategorias">
<p:dataTable value="#{categoriasBean.categorias}" var="c"
paginator="true" rows="50" emptyMessage="Nenhuma categoria cadastrada!" selectionMode="single" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="50,100,150" selection="#{categoriasBean.categoria}">
<f:facet name="header">
Categorias
</f:facet>
<p:column>
<f:facet name="header">
<h:outputText value="Codigo" />
</f:facet>
<h:outputText value="#{c.codigo_interno}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:outputText value="#{c.nome}" />
</p:column>
</p:dataTable>
<br/>
<p:commandButton image="ui-icon ui-icon-document" value="Novo" actionListener="#{categoriasBean.inserir}" oncomplete="alterar.show()" update="formAlterar"/>
<p:commandButton image="ui-icon ui-icon-pencil" value="Editar" oncomplete="alterar.show()" update="formAlterar"/>
</h:form>
kra dá uma olhada no meu datatable, axo q vc tá confundindo algo:
[code]<?xml version='1.0' encoding='UTF-8' ?>
<ui:composition xmlns:ui=“http://java.sun.com/jsf/facelets”
xmlns=“http://www.w3.org/1999/xhtml”
xmlns:p=“http://primefaces.prime.com.tr/ui”
template="…/formularios/template.xhtml"
xmlns:f=“http://java.sun.com/jsf/core”
xmlns:h=“http://java.sun.com/jsf/html”>
<ui:define name="conteudo">
<p:layoutUnit position="center" header="Cidade">
<h:form id="formPrincipal">
<p:panel style="width:470px">
<p:growl id="growl" showDetail="true" />
<h:panelGrid columns="2" id="segundoPanel">
<p:fieldset legend="Descrição"
style="font-size:12px; width: 250px;">
<p:inputText id="cidade-descricao" required="true"
requiredMessage="Campo [Descrição] obrigatório"
value="#{cidadeBean.cidade.descricao}" size="30" maxlength="30"/>
</p:fieldset>
<p:fieldset legend="Estado" style="font-size:12px;">
<h:selectOneMenu id="selectEstado"
value="#{cidadeBean.cidade.estado}">
<f:selectItems value="#{entradaCidadesBBean.UF}" />
</h:selectOneMenu>
</p:fieldset>
</h:panelGrid>
</p:panel>
<p:commandButton id="btCadastrar" value="Cadastrar"
actionListener="#{cidadeBean.salvar}"
update="formTabela,formPrincipal" image="ui-icon-disk"
rendered="#{cidadeBean.cidade.descricao == null}" />
<p:commandButton id="btAlterar" value="Atualizar"
actionListener="#{cidadeBean.atualizar}"
update="formTabela,formPrincipal" image="ui-icon-disk"
rendered="#{cidadeBean.cidade.descricao != null}" />
<p:commandButton id="btNovo" value="Novo"
actionListener="#{cidadeBean.novo}" update="formPrincipal"
image="ui-icon-disk"
rendered="#{cidadeBean.cidade.descricao != null}" />
</h:form>
<h:form id="formTabela">
<p:dataTable id="tabela" var="cidades" scrollable="true"
height="100" binding="#{cidadeBean.tabela}"
value="#{entradaCidadesBBean.cidades}" emptyMessage="sem registros" style="font-size:12px;" >
<p:column headerText="Descrição" footerText="Descrição"
style="width:200px"
filterMatchMode="contains" filterBy="#{cidades.descricao}">
<h:outputText value="#{cidades.descricao}" />
</p:column>
<p:column headerText="Estado" footerText="Estado"
style="width:50px"
filterMatchMode="contains" filterBy="#{cidades.estado}">
<h:outputText value="#{cidades.estado}" />
</p:column>
<p:column style="width:100px">
<p:commandButton image="ui-icon-pencil" title="Alterar" action="#{cidadeBean.alterar}" update="formPrincipal" />
<p:commandButton image="ui-icon-trash" title="Remover" oncomplete="confirmdlg.show()" />
<p:confirmDialog message="Excluir?" header="Confirmar - #{cidades.descricao}" severity="alert" widgetVar="confirmdlg">
<p:commandButton value="Cancelar" update="formTabela" onclick="confirmdlg.hide()" />
<p:commandButton value="Confirmar" update="formTabela" action="#{cidadeBean.excluir}"/>
</p:confirmDialog>
</p:column>
</p:dataTable>
</h:form>
</p:layoutUnit>
</ui:define>
</ui:composition>
[/code]
Pessoal, ja to desistindo ja tendei de tudo mas os valores sempre retornam null, existe outra maneira de fazer consulta numa datatable?