Rendered dataTable JSP richFaces

2 respostas
gmmascarin

Pessoal

Como adiciono uma condição em uma linha de um rich:dataTable? No exemplo abaixo tenho erro quando tento utilizar rendered utilizando o var observacao.
Obs: Não quero transferir o cálculo para o servidor servidor

<rich:dataTable
				onRowMouseOver="this.style.backgroundColor='#E0E0E0'"
		        onRowMouseOut="this.style.backgroundColor='#FFFFFF'"
		        cellpadding="0" cellspacing="0" border="0" width="100%"
				var="observacao" value="#{sessionBean.projeto.observacoes}"	>
	            
				<f:facet name="header">
					<rich:columnGroup>
						<rich:column width="10%">
							<h:outputText value="#{msg.statusProjeto_data}" />
						</rich:column>
						<rich:column>
							<h:outputText value="#{msg.statusProjeto_observacao}" />
						</rich:column>
					</rich:columnGroup>
				</f:facet>
				
				<rich:column [b]rendered="#{observacao.flagVisibilidadeRestrita}"[/b]>
					<h:outputText value="#{observacao.dataInclusao}" />
				</rich:column>
				<rich:column[b] rendered="#{observacao.flagVisibilidadeRestrita}[/b]">
					<tr:image source="/imagens/user_bloq.png" width="16" height="16" 
									shortDesc="#{msg.cadastrarObservacoes_visibilidadeRestrita}" />
					<tr:image source="/imagens/user_desbloq.png" width="16" height="16" 
									shortDesc="#{msg.cadastrarObservacoes_visibilidadeNaoRestrita}" rendered="#{!observacao.flagVisibilidadeRestrita}"/>
					<h:outputText value=" #{observacao.observacoes}"/>
				</rich:column>
				
			</rich:dataTable>

2 Respostas

rsakurai

Qual o erro?

Porque tem uns e no meio das tags do JSF?

gmmascarin

oi rsakurai

Não consegui identificas a letra “e” que você disse. O erro ocorre nas linhas 18 e 21 devido à tentativa de se fazer rendered utilizando a variável(var=“observacao”) definida no dataTable. Ao que me parece, a renderização das colunas é feita antes da definição da variável.
Consegui resolver o problema transferindo o cálculo para o servidor, na sessionBean, porém gostaria de realizar a filtragem diretamente no cliente.

Obrigado

Criado 30 de março de 2011
Ultima resposta 31 de mar. de 2011
Respostas 2
Participantes 2