P:datatable sort

Boa Noite!

Galera, tenho uma view, com esse fragmento:

       <h:form>
            <p:dataTable id="dataTable" var="s" rowKey="#{s.idSexo}" value="#{mbSexo.sexos}" selectionMode="single">  
                <f:facet name="header">  
                    Sexos Cadastrados
                </f:facet>  

                <p:column sortBy="#{s.idSexo}" headerText="Id">  
                    <h:outputText value="#{s.idSexo}" />  
                </p:column>  

                <p:column sortBy="#{s.descricao}" headerText="Descricao">  
                    <h:outputText value="#{s.descricao}" />  
                </p:column>  
            </p:dataTable>  
        </h:form>

Isso é um exemplo, onde eu preciso ordenar, mas não consigo, aparece no topo da tabela as setinhas para ordenar e tudo, mas ao clicar nada acontece, achei algumas referencias sobre isso na web, mas não entendi como resolver…
Alguém aí sabe como posso fazer para ordenar?
Obrigado

DRauber

Nas colunas eu uso algo como abaixo e funciona, tenta ai.

<p:column sortBy="#{s.idSexo}">
      <f:facet name="header">
	     <h:outputText value="Id" />
      </f:facet>
     <h:outputText value="#{s.idSexo}" />
</p:column>

Obrigado pela resposta Fexx.

Não deu certo. Como você manda os dados para a tabela?

Dá uma olhada no meu MB e no DAO…
MB

...
    public List&lt;Sexo&gt; getSexos() {
        sexos = sexoDAO().getEntities();
        return sexos;
    }
...

DAO

...
    @Override
    public List&lt;T&gt; getEntities() {
        List&lt;T&gt; entities = (List&lt;T&gt;)session.createCriteria(classe).list();
        return entities;
    }
...

Obrigado

DRauber

Veja o trecho do dataTable que usei em um exemplo:

<h:form>
			<p:dataTable id="dataTable" var="mercadoria"
				value="#{mercadoriaMB.mercadorias}" paginator="true" rows="5"
				paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
				rowsPerPageTemplate="5,10,15">
				<p:column>
					<f:facet name="header">#</f:facet>
					<h:outputText value="#{mercadoria.id}" />
				</p:column>
	
				<p:column sortBy="#{mercadoria.nome}">
					<f:facet name="header">
						<h:outputText value="#{msg['label.mercadoria.nome']}" />
					</f:facet>
					<h:link outcome="editarMercadoria" value="#{mercadoria.nome}"
						title="#{msg['label.editar']} #{mercadoria.nome}">
						<f:param name="id" value="#{mercadoria.id}" />
					</h:link>
				</p:column>
	
				<p:column sortBy="#{mercadoria.descricao}">
					<f:facet name="header">
						<h:outputText value="#{msg['label.mercadoria.descricao']}" />
					</f:facet>
					<h:outputText value="#{mercadoria.descricao}" />
				</p:column>
	
				<p:column sortBy="#{mercadoria.quantidade}">
					<f:facet name="header">
						<h:outputText value="#{msg['label.mercadoria.quantidade']}" />
					</f:facet>
					<h:outputText value="#{mercadoria.quantidade}" />
				</p:column>
	
				<p:column sortBy="#{mercadoria.preco}">
					<f:facet name="header">
						<h:outputText value="#{msg['label.mercadoria.preco']}" />
					</f:facet>
					<h:outputText value="#{mercadoria.preco}">
						<f:convertNumber type="currency"  />
					</h:outputText>
				</p:column>
			</p:dataTable>
		</h:form>

MercadoriaMB está assim:

public List getMercadorias() {
if (mercadorias == null) {
mercadorias = service.findAll();
}
return mercadorias;
}

Mas acredito que o problema não seja no MB e sim na view, tente implementar em seu código, pois utilizo dessa maneira e funciona.
tenta fazer as modificações em todas as colunas do dataTable.

testa ai.

Abraços.

Fica com DEUS.

troque onde estiver as EL msg:

 <h:outputText value="#{msg['label.mercadoria.descricao']}" />  

pelos seu atributos, exemplo:

 <h:outputText value="#{s.idSexo}" />  

Essa EL msg é para outra coisa.

Abraços

Fica com DEUS.