JSF dataTable

Oi, pessoal.
Estou com uma situaçãozinha chata no dataTable.
Talvez seja algo que esteja na minha cara, não sei…
o que acontece é o seguinte:
Tenho a minha tabela e ela é carregada normalmente.
A primeira página fica tudo certo.
Porém, quando clico em outra página, todos os registros visíveis na página vão para o primeiro header.

ou seja…

Data | Hora | Origem
12/12/2012 | 11:40 | ABC

passa a ficar:

| Data | Hora | Origem
12/12/2012 11:40 ABC |

Além disso, os registros não são atualizados, de modo que os registros da primeira página continuam aparecendo, independente da página que eu clicar.
A única diferença é que bagunça a tabela desse jeito que descrevi.
Quando clico na primeira página de novo, não volta ao normal.

Segue o código do dataTable:

<p:dataTable id="sistema" var="chamada" value="#{audioController.chamadas}" paginator="true" rows="11" lazy="true" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" emptyMessage="Nenhum resultado encontrado"> <p:column sortBy="#{chamada.dataChamada}"> <f:facet name="header">Data</f:facet> <h:outputText value="#{chamada.dataChamada}"> <f:convertDateTime pattern="dd/MM/yyyy" locale="pt_br" timeZone="America/Sao_Paulo"/> </h:outputText> </p:column> <p:column sortBy="#{chamada.dataChamada}"> <f:facet name="header">Hora</f:facet> <h:outputText value="#{chamada.dataChamada}"> <f:convertDateTime pattern="HH:mm:ss" locale="pt_br" timeZone="America/Sao_Paulo"/> </h:outputText> </p:column> <p:column sortBy="#{chamada.origem}"> <f:facet name="header">Origem</f:facet> <h:outputText value="#{chamada.origem}" /> </p:column> <p:column sortBy="#{chamada.destino}"> <f:facet name="header">Destino</f:facet> <h:outputText value="#{(chamada.destino == 's')?'Sistema':chamada.destino}" /> </p:column> <p:column sortBy="#{chamada.segundosTarifados}"> <f:facet name="header">Duração</f:facet> <h:outputText value="#{chamada.segundosTarifados}" /> </p:column> <p:column sortBy="#{chamada.disposicao}"> <f:facet name="header">Situação</f:facet> <h:outputText value="#{(chamada.disposicao == 'ANSWERED')?'Respondido':'Não respondido'}" /> </p:column> <p:column sortBy="#{chamada.temGravacao}"> <f:facet name="header">Download</f:facet> <h:outputLink target="_blank" value="pagina.jsp?id=#{chamada.uniqueid}&amp;pasta=#{chamada.servidor}" rendered="#{chamada.temGravacao}"> Download </h:outputLink> </p:column> </p:dataTable>

Alguma ideia?

Muito obrigado

Hmmm… eu tentei colocar uns espaços pra tentar mostrar mais ou menos como fica a tabela, mas não ficou do jeito que eu escrevi. Os espaços sumiram.

o que eu quis dizer é que todo o registro (12/12/2012, 11:40, ABC)
fica embaixo do header data.
ao invés de
“12/12/2012” ficar embaixo de “data
“11:40” ficar embaixo de “hora
e “ABC” ficar embaixo de “origem

Cara tenta fazer o seguinte, ao inves de está assim


<p:column sortBy="#{chamada.origem}">  
        <f:facet name="header">Origem</f:facet>  
        <h:outputText value="#{chamada.origem}" />  
    </p:column>  

Mude para ficar desse jeito:


<p:column sortBy="#{chamada.origem}"  headerText="Origem">  
               #{chamada.origem}
    </p:column>  

Tenta isso.

Cara… só pra constar.
Ainda não consegui testar.
Estou com um problema pra fazer deploy e não da pra testar localmente por uma questão de banco de dados.
Já posto aqui o que deu.

Deu a mesma coisa! :frowning:
Desespero?

As dependências que estou usando são:

<dependency> <groupId>com.sun.faces</groupId> <artifactId>jsf-api</artifactId> <version>2.1.7</version> </dependency> <dependency> <groupId>com.sun.faces</groupId> <artifactId>jsf-impl</artifactId> <version>2.1.7</version> </dependency> <dependency> <groupId>org.primefaces</groupId> <artifactId>primefaces</artifactId> <version>3.4.2</version> </dependency>

o servidor é Tomcat 6.0

Galera, consegui meter um banco de dados local pra testar.
Aqui na minha máquina funciona, mas quando rodo no servidor, da esse problema que eu descrevi!
parece que ele joga a tabela de registro dentro da celula data! mas só no servidor acontece isso!
sendo que no servidor também é tomcat 6!!

Alguma alma caridosa me ajuda, pleeease! =~~

Tenta assim!!!

[code]<p:dataTable id=“sistema” var=“chamada” value="#{audioController.chamadas}" paginator=“true” rows=“11”
lazy=“true” paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
emptyMessage=“Nenhum resultado encontrado”>

<p:column sortBy="#{chamada.dataChamada}" headerText="Data">
	<h:outputText value="#{chamada.dataChamada}">
	<f:convertDateTime pattern="dd/MM/yyyy" locale="pt_br" timeZone="America/Sao_Paulo"/>
	</h:outputText>
</p:column>

<p:column sortBy="#{chamada.dataChamada}" headerText="Hora">
	<h:outputText value="#{chamada.dataChamada}">
    <f:convertDateTime pattern="HH:mm:ss" locale="pt_br" timeZone="America/Sao_Paulo"/>
	</h:outputText>
</p:column>

<p:column sortBy="#{chamada.origem}" headerText="Origem">
	<h:outputText value="#{chamada.origem}" />
</p:column>

<p:column sortBy="#{chamada.destino}" headerText="Destino">
	<h:outputText value="#{(chamada.destino == 's')?'Sistema':chamada.destino}" />
</p:column>

<p:column sortBy="#{chamada.segundosTarifados}" headerText="Duração">
	<h:outputText value="#{chamada.segundosTarifados}" />
</p:column>

<p:column sortBy="#{chamada.disposicao}" headerText="Situação">
	<h:outputText value="#{(chamada.disposicao == 'ANSWERED')?'Respondido':'Não respondido'}" />
</p:column>

<p:column sortBy="#{chamada.temGravacao}" headerText="Download">
	<h:outputLink target="_blank" value="pagina.jsp?id=#{chamada.uniqueid}&amp;pasta=#{chamada.servidor}"
		rendered="#{chamada.temGravacao}">
		Download
    </h:outputLink>
</p:column>

</p:dataTable>[/code]

eu já modifiquei para colocar o headerText no p:column, mas continuou dando o mesmo problema. =/

Agora que eu vi que ele não joga só a tabela de registros dentro do header Data.
Ele cria outro dataTable (incluindo todos os botoes de paginação) dentro da coluna Data do dataTable que já existia.
ou seja, 2 dataTables ficam aparecendo na tela, só que o segundo fica todo dentro da primeira coluna do primeiro.

Só lembrando… localmente roda normal!!
Só no servidor acontece isso. Já tentei baixar outro tomcat e tal, mas nada feito!

Eu estava rodando minha aplicação no google chrome.
Baixei o Opera no servidor de produção e rodei por ele.
Funcionou normal.

Só é estranho porque na minha máquina eu rodei no chrome e a versão é a mesma do chrome do servidor.

Carai! Falei praticamente eu comigo mesmo. auhauhuehega
Só pra vocês saberem…
Ontem fui pra casa pensando no que fazer pra resolver isso e tive a ideia de fazer uma limpa no chrome.
limpar cache e tal.
Pensei nisso pq estava funcionando antes no chrome e parou de funcionar e, alem disso, estava funcionando perfeitamente no Opera.
Achei isso muito estranho e comecei a achar que o prob poderia estar relacionado ao navegador.
Se fosse o IE, tudo bem, né? Mas era o Chrome, po. hahaha
Bom… fiz a limpa e deu certo. Não entendi muito bem o porquê, mas foi.

Vai demorar até eu usar JSF de novo. huahuahuha.
Voltarei ao Spring mesmo! =P

Se você estiver utilizando um estilo criado pelo themeroller, então o problema provavelmetne será conflito neste estilo.
Você deve remover qualquer estrutura css de botões, tabs, accordion e dialog do tema do themeroller, se estes estiverem inclusos, pode quebrar alguns componentes do primefaces. O PF não usa o UI widgets do jquery.

Bom… realmente estou usando themes e tem jquery ui também.
Vou dar uma analisada nisso, cara.

Muito obrigado pela atenção e esclarecimento! =)