Filterby Primefaces

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?