Ajuda com ajax

3 respostas
D

nao linha 36 na primeira table eu seleciono um item, quero que quando eu seleciono esse item a table da linha 106 carregue,
ja dei sysout em tudo, e os dados vem do banco de acordo com o q foi selecionado, so a table da linha 106 nao atualiza, alguem pode me ajudar? acho q é o ajax

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/template/interna.xhtml">
	<ui:define name="titulo">Grupo Gestão x Destinatário</ui:define>

	<ui:define name="corpo">
		<h:form id="formulario">
			<h:inputHidden
				value="#{grupoGestaoDestinatarioBean.grupoGestaoDestinatario.id_grupo_gestao_destinatario}" />

			<div id="loading">
				<p:ajaxStatus rendered="true">
					<f:facet name="start">
						<h:graphicImage library="images" name="loading.gif" />
					</f:facet>

					<f:facet name="complete">
						<h:outputText value="" />
					</f:facet>
				</p:ajaxStatus>
			</div>

			<p:panel header="Cadastro de Grupo Gestão x Destinatário" closable="true">
				<p:tabView activeIndex="0" dynamic="true" id="tabView">
					<p:ajax event="tabChange" update="idDescSelecionada" />
					
					<p:tab title="Grupo Gestao" id="idGrupoGestao">
						<h:panelGroup layout="block">
							<h:panelGrid style="width:100%">
								<p:dataTable id="dataGrupoGestao" style="width:100%"
									value="#{grupoGestaoDestinatarioBean.listGrupoGestao}" var="grupoGestao"
									paginator="true" rows="20" selectionMode="single"
									selection="#{grupoGestaoDestinatarioBean.selectGrupoGestao}"
									rowKey="#{grupoGestao.descricao}" >
									<p:ajax event="rowSelect" listener="#{grupoGestaoDestinatarioBean.carregaLista}"
										update=":form:dataDestinatario2 :form:idDestinatario"/>
									<p:column headerText="Código" filterBy="#{grupoGestao.id_fantasia}" style="width:40px">
										<h:outputText value="#{grupoGestao.id_fantasia}" />
									</p:column>
									<p:column headerText="Grupo gestão" filterBy="#{grupoGestao.descricao}">
										<h:outputText value="#{grupoGestao.descricao}" />
									</p:column>
								</p:dataTable>
								
							</h:panelGrid>
						</h:panelGroup>
					</p:tab>
					
					
					
					<p:tab title="Destinatário" id="idDestinatario" >
						<p:toolbar id="toolBar">
							<p:toolbarGroup align="left">
								<p:commandButton action="#{grupoGestaoDestinatarioBean.save}"
									value="Salvar" image="ui-icon ui-icon-disk" ajax="false" />
								<p:spacer width="3" />
								<p:commandButton action="#{promotorBean.cancelar}"
									value="Cancelar" ajax="false" image="ui-icon ui-icon-cancel" />
								<p:separator />
								<h:outputText id="idDescSelecionada"
									value="Grupo Gestao Selecionado : #{grupoGestaoDestinatarioBean.selectGrupoGestao.descricao}" />
							</p:toolbarGroup>
						</p:toolbar>

						<p:messages />

						<h:panelGrid columns="3"
							columnClasses="coluna1asso, coluna2asso, coluna3asso">

							<p:dataTable id="dataAcesso1"
								value="#{grupoGestaoDestinatarioBean.source}" style="width:100%"
								var="destinatario1" paginator="true" rows="10"
								selectionMode="multiple"
								selection="#{grupoGestaoDestinatarioBean.selectDestinatarios}"
								rowKey="#{destinatario1.razao_social}">
								<p:column headerText="Código" filterMatchMode="contains" style="width:40px"
									sortBy="#{destinatario1.id_fantasia}"
									filterBy="#{destinatario1.id_fantasia}">
									<h:outputText value="#{destinatario1.id_fantasia}" />
								</p:column>
								<p:column headerText="Destinatário" filterMatchMode="contains"
									sortBy="#{destinatario1.razao_social}"
									filterBy="#{destinatario1.razao_social}">
									<h:outputText value="#{destinatario1.razao_social}" />
								</p:column>
							</p:dataTable>

							<h:panelGrid style="width:100%">
								<p:commandButton image="ui-icon ui-icon-arrowrefresh-1-w"
									value="Adicionar"
									action="#{grupoGestaoDestinatarioBean.adicionarDestinatario}"
									update="dataDestinatario1, dataDestinatario2">
								</p:commandButton>
								<p:commandButton image="ui-icon ui-icon-close" value="Remover"
									action="#{grupoGestaoDestinatarioBean.removerDestinatario}"
									update="dataDestinatario1, dataDestinatario2">
								</p:commandButton>
							</h:panelGrid>

							<p:dataTable id="dataDestinatario2"
								value="#{grupoGestaoDestinatarioBean.target}" style="width:100%"
								var="destinatario2" paginator="true"
								selection="#{grupoGestaoDestinatarioBean.selectDestinatarios2}"
								rows="10" selectionMode="multiple"
								rowKey="#{destinatario2.razao_social}">
								<p:column headerText="Destinatários Adicionados"
									filterBy="#{destinatario2.razao_social}">
									<h:outputText value="#{destinatario2.razao_social}" />
								</p:column>
							</p:dataTable>

						</h:panelGrid>

					</p:tab>
					
				</p:tabView>

			</p:panel>
		</h:form>

	</ui:define>
</ui:composition>
</html>

3 Respostas

Hebert_Coelho

Dê o refresh no form ao invés do componenente. Sê não quiser dar um refresh no form inteiro, coloque o datatable dentro de um panel e dê um refresh no panel.

Nesse post, JSF Exemplos Simples com Ajax eu explico o pq disso.

D

descobri outro problema, quando eu seleciono um item da primeira table nada acontece, qdo eu clico em outro ai os sysout mostra o era pra mostrar no primeiro item q selecionei, o que sera que pode ser?

D

se alguem puder me ajudar esta dando isso no console:

SEVERE: /associacoes/cadastrarGrupoGestaoDestinatario.xhtml @42,40 render=“dataDestinatario2” Unhandled by MetaTagHandler for type org.primefaces.component.behavior.ajax.AjaxBehavior

Criado 6 de dezembro de 2011
Ultima resposta 7 de dez. de 2011
Respostas 3
Participantes 2