<rich:datascroller> não funciona direito ? Com reRender no DataTable?

1 resposta
R

Pessoal, estou fazendo uma aplicação que "atualiza" (reRender) um DataTable à partir das opções de um selectOneMenu... Quando eu escolho a opção e clico em "OK", ele atualiza o dataTable... Só que toda vez que tenho um DataScroller visível na página dá erro nessa atualização. O DataTable, as vezes, fica em branco e as vezes, quando estou selecionando a mesma opção no "selectOneMenu", ele muda a página sem eu pedir... O código do JSF tá ai embaixo... O que será isso ? Será que ele não funciona direito ? Tem alguma restrição para popular o List do DataTable ? Essa história de SubView que eu vi em outro tópico tem alguma coisa a ver ? os controles de "Anterior" e "Próximo" que o datascroller tem estão doidos... As vezes ele pula da 1 pra 2... Ai quando eu clico ele não vai... Ai depois ele vai pra 5...

Alguma dica ?

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<html>
<head>
<title></title>
<link href="../css/estilo.css" rel="stylesheet" type="text/css" />
</head>
<body>

<f:view>
	<h:panelGrid columns="1" width="#{layoutBean.larguraDasTabelas}"
		align="center">

		<h:panelGroup>
			<a4j:form id="formEscolherTipo" status="recursoStatus">
				<a4j:support ajaxSingle="true" event="oncomplete"
					reRender="viewRecursosListagem" />
				<h:outputText value="Listar por " styleClass="textoNormal" />

				<h:selectOneMenu id="listaDeTipos"
					value="#{recursosListarBean.tipoEscolhido}"
					styleClass="textoNormal">
					<f:selectItems value="#{recursosListarBean.listaDeTipos}" />
				</h:selectOneMenu>

				<h:commandButton value="OK" styleClass="textoNormal"
					action="#{recursosListarBean.atualizarListagem}">
				</h:commandButton>

				<a4j:status id="recursoStatus" startText="Em andamento ..."
					stopText="" startStyleClass="textoNormal" />
			</a4j:form>


		</h:panelGroup>
	</h:panelGrid>
	<h:panelGrid columns="1" width="#{layoutBean.larguraDasTabelas}"
		align="center">
		<f:subview id="viewRecursosListagem">
			<h:form>
				<rich:dataTable width="100%" id="recursosListagem" rows="20"
					columnClasses="textoNormal"  value="#{recursosListarBean.listaDeRecursos}"
					var="recurso" rendered="#{not empty recursosListarBean.listaDeRecursos}">
					<f:facet name="header">
						<rich:columnGroup>
							<h:column>
								<h:outputText styleClass="headerText" value="Nome" />
							</h:column>
							<h:column>
								<h:outputText styleClass="headerText" value="Descrição" />
							</h:column>
							<h:column>
								<h:outputText styleClass="headerText" value="Localização" />
							</h:column>
							<h:column>
								<h:outputText styleClass=" " />
							</h:column>
						</rich:columnGroup>
					</f:facet>

					<h:column>
						<h:outputText value="#{recurso.nome}" />

					</h:column>
					<h:column>
						<h:outputText value="#{recurso.descricao}"
							styleClass="textoNormal" />
					</h:column>
					<h:column>
						<h:outputText value="#{recurso.localizacao}"
							styleClass="textoNormal" />
					</h:column>
					<h:column>
						<h:outputText value="#{recurso.tipo}" styleClass="textoNormal" />
					</h:column>
				</rich:dataTable>
				<rich:spacer height="2" />
				<rich:datascroller id="recursoScroller" for="recursosListagem"
					boundaryControls="hide" stepControls="hide" fastControls="hide">
				</rich:datascroller>
			</h:form>
		</f:subview>
		<h:outputText id="mensagem" value="#{recursosListarBean.mensagem}" />
	</h:panelGrid>
</f:view>

</body>
</html>

[]´s !!

1 Resposta

maurenginaldo

Já trabalhei com o datatable e o dataScroler e não tive problema.

Quando vc der o reRender na tabela, dá um reRender no dataScroler também, acho que seu problema é esse.

Criado 22 de fevereiro de 2008
Ultima resposta 22 de fev. de 2008
Respostas 1
Participantes 2