PrimeFaces + ViewScoped + Datatable

Olá!

Estou com um problema com o dataTable do Primefaces quando eu uso o escopo View.

Assim que muda a pagina do datable, os registros não sao exibidos mais, como se a lista estivesse vazia.
Com os outros escopos o dataTable não apresenta esse problema.

Porém preciso usar o View, pois preciso receber um paramentro pela url, e não sei fazer isso com Session.

Alguem poderia me ajudar?

Segue o codigo do dataTable:

<p:dataTable id="tblg" var="item" paginator="true" rows="10"
							value="#{acervoBean.logDataModel}"
							selection="#{acervoBean.selecionados}" style="font-size:75%">
							
							<f:facet name="header">  
            						Logs 
        					</f:facet>
							<p:column selectionMode="multiple" style="width:18px" />
							<p:column>
								<f:facet name="header">
									<h:outputText value="Data" />
								</f:facet>
								<h:outputText value="#{item.dt}" />
							</p:column>
							<p:column>
								<f:facet name="header">
									<h:outputText value="Hora" />
								</f:facet>
								<h:outputText value="#{item.hora}" />
							</p:column>
						</p:dataTable>

com viewScope nao vai ter como fazer, ja que ele faz com que os dados permaneçam somente na tela, quando sai dela ele remove o objeto.

Mas mesmo nesse caso?
Eu não sai da página(html) , apenas mudei a “página” do dataTable.

[quote=@luiz_z]Mas mesmo nesse caso?
Eu não sai da página(html) , apenas mudei a “página” do dataTable.[/quote]

Não não… nesse caso os dados permanecem, acho que só houve uma confusão entre mudar de página de verdade e mudar apenas a “página” do datatable.

De uma olhada no seguinte:

  • Se não tem algum código que possa estar limpando a lista… principalmente no método getLogDataModel
  • Se o managed bean realmente está sendo armazenado em view scope. Faça um teste simples, como imprimir no log uma variável para ver se ela se mantém, ou coloque um breakpoint e veja se o ID do objeto continua.
  • Se o managed bean é serializável. Se não for, ele não pode ser armazenado em view scope.

Qual versão do jsf e do prime vc esta usando?

O Managed bean está como view Scope sim, as outras variáveis da pagina ( SelectionOneMenu, InputText )
continuam com seus valores corretos, o problema ocorre apenas com o datatable.

Estou usando o JSF 2 e o Primefaces 3.1.1

Na verdade a paginação do dataTable só não funciona, quando eu uso a propriedade “selection”.

Já não sei mais o que fazer… hehehe