Erro na quantidade de linhas quando uso rich:datatable, rich:datascroller, rich:modal

1 resposta
K

Boa tarde,

Estou usando dentro de um rich:modal uma rich:datatable com a rich:datascroller. Por algum motivo que desconheço, as páginas pegadas pela rich:datascroller estão sendo geradas com quantidade de linhas diferentes. Por exemplo, defini que cada página deveria ter apenas 10 linhas, a primeira página vem com 10 linhas, a segunda com 10, a terceira com 2, a quarta com 3 a quinta com 7 e assim por diante.

Segue o código resumido abaixo:

<rich:modalPanel id=“mp” minHeight=“560” minWidth=“800” width=“800” headerClass=“backgroundAzul”>
<rich:dataTable id=“tableDocs” value="#{documentSearchMBean.documentList}"
var=“doc” rows=“10” width=“100%” first=“10”
reRender=“scroll”
selectionMode=“single” sortMode=“multi”
enableContextMenu=“true”
height=“290”
align=“left”
style=“text-align:left;”

>
		
		<rich:column width="25%" sortable="false" sortBy="#{doc.name}" label="Documento" rendered="#{doc.state.name!='EMBRYONIC'}" style="width:25%;heigth:10px">			
		<f:facet name="header">
			<h:outputText value="Documento"/>
		</f:facet>
		
		<h:commandLink value="#{doc.name}" action="#{documentMBean.init}" target="_blank" immediate="true">
				<f:param name="documentId" value="#{doc.id}"/>
				<f:param name="pageAction" value="view"/>
														
				<f:setPropertyActionListener target="#{sessionScope.pageAction}" value="view"/>
		</h:commandLink>
		
		</rich:column>
		
		<rich:column width="10%" sortBy="#{doc.version}" label="Versão" id="idCol" rendered="#{doc.state.name!='EMBRYONIC'}" style="width:10%;">
		<f:facet name="header" >
			<h:outputText value="Versão"/>
		</f:facet>
		<h:outputText value="#{doc.version}" rendered="#{doc.version>0}"></h:outputText>
			<rich:spacer rendered="#{doc.version==0}" height="13"/>
		</rich:column>
		
		<rich:column width="20%" sortBy="#{doc.alterDate}" sortOrder="DESCENDING" label="Última Atualização" rendered="#{doc.state.name!='EMBRYONIC'}" style="width:20%;">
		<f:facet name="header" >
			<h:outputText value="Última Atualização"/>
		</f:facet>
		<h:outputText value="#{doc.alterDateToScreen}"></h:outputText>
		</rich:column>
		
		<rich:column width="15%"  sortBy="#{doc.state.name.name}" label="Estado" rendered="#{doc.state.name!='EMBRYONIC'}" style="width:15%;">
		<f:facet name="header" >
			<h:outputText value="Estado"/>
		</f:facet>
		<h:outputText value="#{doc.state.name.name}"></h:outputText>
		</rich:column>
		
		<rich:column width="10%"  sortBy="#{doc.template.version}" label="Versão template" rendered="#{doc.state.name!='EMBRYONIC'}" style="width:10%;">
		<f:facet name="header" >
			<h:outputText value="Versão template"/>
		</f:facet>
		<h:outputText value="#{doc.template.version}" rendered="#{doc.template.version>0}"></h:outputText>
		</rich:column>
		
		<rich:column width="20%" sortBy="#{doc.currentProject.description}" label="Projeto" rendered="#{doc.state.name!='EMBRYONIC'}" style="width:20%;">
        <f:facet name="header" >
            <h:outputText value="Projeto"/>
        </f:facet>
        <h:outputText value="#{doc.currentProject.code}"/> - <h:outputText value="#{doc.currentProject.descriptionReduced}"/>
        </rich:column>
		
		<f:facet name="footer">
			<rich:datascroller id="scroll" for="tableDocs" maxPages="10" renderIfSinglePage="true" ></rich:datascroller>
		</f:facet>
	
	</rich:dataTable>

</rich:modalPanel>

Se alguém tiver uma luz seria ótimo.
Muito Obrigado,
Kleber

1 Resposta

K

Pessoal,

Encontrei o problema. O problema é por que tenho um “rendered=”#{doc.state.name!=‘EMBRYONIC’}"" nas colunas que dependendo do estado ele reenderiza ou não, dessa maneira pode causar numero diferente de linhas em cada página.

Resolvi apenas tirando essa verificação no JSF e colocando no Servidor.

Kleber

Criado 16 de maio de 2011
Ultima resposta 16 de mai. de 2011
Respostas 1
Participantes 1