Problema com renderização

3 respostas
daniel4613

Olá pessoa. estou com um dúvida se algum puder me ajuda…

eu tenho uma tabela que é renderizada de acordo com um campo de filtro. até ai tranquilo ela é renderizada…

o problema é quando eu tento renderizar a tabela após o usuário clicar no botão cancelar…

Segue o código…

<f:view>
		<rich:panel header="Alterar Solicitação" id="alterarSolicitacao" rendered="true">
		
			<a4j:form id="buscaSolicita">
				<h:outputText value="PRODUTO" />
				<h:inputText value="#{solicitacaoMB.solicitacao.codpro}" id="produto" />
				
				<a4j:commandButton value="Buscar" action="#{solicitacaoMB.buscarPorProduto }" reRender="altsol" />
					
			</a4j:form>

			<a4j:form id="altsol" rendered="true">
			 
				<h:message for="altsol"/>
				<rich:dataTable value="#{solicitacaoMB.listaSolPorProduto}" var="s" width="1400">

					<rich:column width="3%" style="text-align: center;">
						<f:facet name="header">
							<h:outputText value="SOL." />
						</f:facet>
						<h:outputText value="#{s.numsol }" id="numsol" />
					</rich:column>

					<rich:column style="text-align: center;">
						<f:facet name="header">
							<h:outputText value="FIL." />
						</f:facet>
						<h:outputText value="#{s.filsol }" />
					</rich:column>

					<rich:column style="text-align: center;">
						<f:facet name="header">
							<h:outputText value="SEQ." />
						</f:facet>
						<h:outputText value="#{s.seqsol }" />
					</rich:column>

					<rich:column style="text-align: center;">
						<f:facet name="header">
							<h:outputText value="USUÁRIO" />
						</f:facet>
						<h:outputText value="#{s.codusu }" />
					</rich:column>

					<rich:column style="text-align: center;">
						<f:facet name="header">
							<h:outputText value="DATA SOL." />
						</f:facet>
						<h:outputText value="#{s.datsol }">
							<f:convertDateTime pattern="dd/MM/yyyy" />
						</h:outputText>
					</rich:column>

					<rich:column style="text-align: center;">
						<f:facet name="header">
							<h:outputText value="HORA" />
						</f:facet>
						<h:outputText value="#{s.horsol }" />
					</rich:column>

					<rich:column>
						<f:facet name="header">
							<h:outputText value="CODPRO" />
						</f:facet>
						<h:outputText value="#{s.codpro }" />
					</rich:column>

					<rich:column>
						<f:facet name="header">
							<h:outputText value="PRODUTO" />
						</f:facet>
						<h:outputText value="#{s.despro }" />
					</rich:column>

					<rich:column style="text-align: center;">

						<f:facet name="header">
							<h:outputText value="UN" />
						</f:facet>
						<h:outputText value="#{s.unimed }" />
					</rich:column>

					<rich:column style="text-align: center;">
						<f:facet name="header">
							<h:outputText value="CODDER" />
						</f:facet>
						<h:outputText value="#{s.codder }" />
					</rich:column>
					
					<rich:column>
						<f:facet name="header">
							<h:outputText value="DERIVAÇÃO" />
						</f:facet>
						<h:outputText value="#{s.desder }" />
					</rich:column>

					<rich:column style="text-align: center;">
						<f:facet name="header">
							<h:outputText value="PREVISÃO" />
						</f:facet>
						<h:outputText value="#{s.datprv }">
							<f:convertDateTime dateStyle="long" pattern="dd/MM/yyyy" />
						</h:outputText>
					</rich:column>

					<rich:column style="text-align: center;">
						<f:facet name="header">
							<h:outputText value="QUANTIDADE" />
						</f:facet>
						<h:outputText value="#{s.qtdsol }" />

					</rich:column>

					<rich:column>
						<f:facet name="header">
							<h:outputText value="DEPÓSITO" />
						</f:facet>
						<h:outputText value="#{s.coddep }" />

					</rich:column>

					<rich:column>
						<f:facet name="header">
							<h:outputText value="OBSERVAÇÃO" />
						</f:facet>
						<h:outputText value="#{s.obssol }" />

					</rich:column>

					<rich:column>
						<f:facet name="header">
							<h:outputText value="SITUAÇÃO" />
						</f:facet>
						<h:outputText value="#{s.situacaoEmTexto}" />

					</rich:column>

					<rich:column style="text-align: center;">
						<f:facet name="header">
							<h:outputText value="ALTERAÇÃO" />
						</f:facet>
						<a4j:commandButton value="ALTERAR" action="#{solicitacaoMB.editar}" status="statusAlterarSolicitacao">
							<f:setPropertyActionListener value="#{s}" target="#{solicitacaoMB.solicitacao}" />
						</a4j:commandButton>

					</rich:column>

					<rich:column style="text-align: center;">
						<f:facet name="header">
							<h:outputText value="CANCELAMENTO" />
						</f:facet>
						<a4j:commandButton value="CANCELAR" action="#{solicitacaoMB.cancelar }" status="statusAdicionarSolicitacao"
								reRender="altsol" ajaxSingle="true">
							<f:setPropertyActionListener value="#{s}" target="#{solicitacaoMB.solicitacao}" />
						</a4j:commandButton>

					</rich:column>

				</rich:dataTable>
				<rich:messages for="altsol" />

				<h:panelGrid columns="2" rendered="true" id="gridMenu">
					<a4j:commandButton value="Voltar" status="statusAlterarSolicitacao"
						action="voltar_inisol" immediate="true" />

					<a4j:commandButton value="sair" status="statusAlterarSolicitacao" action="sair" immediate="true" />
				</h:panelGrid>

			</a4j:form>

			<a4j:region>
				<div style="position: absolute; top: 75%; left: 50%;">
					<a4j:status id="statusAlterarSolicitacao">
						<f:facet name="start">
							<h:panelGrid>
								<h:column>
									<h:graphicImage value="/images/loader2.gif" />
								</h:column>
								<h:column>
									<h:outputText value="Aguarde..."
										style="text-size:30px; font-family: Arial; font-weight: bold" />
								</h:column>
							</h:panelGrid>
						</f:facet>
					</a4j:status>
				</div>
			</a4j:region>

		</rich:panel>

	</f:view>

3 Respostas

T

Coloque um atributo id na sua tabela e adicione ele no atributo reRender do botão cancelar.

daniel4613

Não funcionou dessa forma…

<rich:dataTable value="#{solicitacaoMB.listaSolPorProduto}" var="s" width="1400" id="alterar" rendered="true">
<a4j:commandButton value="CANCELAR" action="#{solicitacaoMB.cancelar }" status="statusAdicionarSolicitacao"
								reRender="alterar" ajaxSingle="true">
				  		         <f:setPropertyActionListener value="#{s}" target="#{solicitacaoMB.solicitacao}" />
</a4j:commandButton>

o que será que está acontecendo ?

T

O seu action #{solicitacaoMB.cancelar }

Esta retornando o que ?

Como você esta fazendo uma requisição via AJAX talvez seja melhor você trabalhar com actionListener ou então retornar null no seu action.

Criado 18 de outubro de 2012
Ultima resposta 19 de out. de 2012
Respostas 3
Participantes 2