[RESOLVIDO] Primafaces com dataTable

7 respostas
T

Opa pessoal..

Estou fazendo um cadastro simples, e estou com algumas dificuldades com o update..
Não sei se compreendi bem, mas quando clico em "Editar" ele abre o dialog e fecha em seguida.. sem fazer nada..
Pelo que vi ele esta atualizando a DataTable, como fiz para o salvar, mas não estou conseguindo controlar isso..

Alguem sabe como separo os componentes que nao quero atualizar?

Segue meu ex..

<ui:composition 
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui" 
	template="/templates/template.xhtml">
	
	<ui:define name="title">Cadastro de Bairro</ui:define>
	<ui:define name="content">
			
			
	<h:form id="formGeral">
			
	<h:messages />
	
		<p:commandButton id="novo" value="Novo" onclick="novo.show()" type="button"/>  
      	
    
		<p:dataTable id="tbBairro" value="#{bairroMB.listaBairros}" var="bairro" border="1" cellspacing="0">
					
						<p:column>
							<f:facet name="header">
								<h:outputText value="Código" />
							</f:facet>
							<h:outputText value="#{bairro.cod_bairro}" />
						</p:column>
	
						<p:column>
							<f:facet name="header">
								<h:outputText value="Nome" />
							</f:facet>
							<h:outputText value="#{bairro.nom_bairro}" />
						</p:column>
						
						<p:column>
							<f:facet name="header">
								<h:outputText value="Ações" />
							</f:facet>
						
							<h:commandLink value="Editar" onclick="novo.show()"/>
							<h:commandLink value="Remover" action="#{bairroMB.remover(bairro)}" />
							
						</p:column>
					</p:dataTable>
		</h:form>
		
		
		
		
		
		<!-- FORM CADASTRO  -->
  		<p:dialog header="Novo Bairro" widgetVar="novo" modal="true" height="200" width="450"
  			action="#{bairroMB.novo}" onCloseUpdate="formGeral" >  
  			<h:form id="form" >
				<h:panelGroup id="Dados">
				    <h:outputText value="Nome:" />  
				   	<p:inputText value="#{bairroMB.bairro.nom_bairro}" required="true"/>  
			   		<p:commandButton value="Salvar" action="#{bairroMB.salvar()}"  oncomplete="novo.hide()" cellpadding="5"/>  
			   		<p:commandButton value="Limpar" onclick="#{bairroMB.limpar()}" />  
			   		<p:commandButton value="Cancelar" onclick="novo.hide()" />  
			   </h:panelGroup>
	   		</h:form>
		</p:dialog>     
		<!-- FORM CADASTRO  -->
		
		
	</ui:define>
	
	
</ui:composition>

7 Respostas

A

Por favor pode mandar o link do componente que você está usando?

T

Utilizo Primefaces andre…

A

Edit: Componente PrimeFaces…

A
tiago.javaman:
Opa pessoal..

Estou fazendo um cadastro simples, e estou com algumas dificuldades com o update..
Não sei se compreendi bem, mas quando clico em "Editar" ele abre o dialog e fecha em seguida.. sem fazer nada..
Pelo que vi ele esta atualizando a DataTable, como fiz para o salvar, mas não estou conseguindo controlar isso..

Alguem sabe como separo os componentes que nao quero atualizar?

Segue meu ex..

<ui:composition 
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui" 
	template="/templates/template.xhtml">
	
	<ui:define name="title">Cadastro de Bairro</ui:define>
	<ui:define name="content">
			
			
	<h:form id="formGeral">
			
	<h:messages />
	
		<p:commandButton id="novo" value="Novo" onclick="novo.show()" type="button"/>  
      	
    
		<p:dataTable id="tbBairro" value="#{bairroMB.listaBairros}" var="bairro" border="1" cellspacing="0">
					
						<p:column>
							<f:facet name="header">
								<h:outputText value="Código" />
							</f:facet>
							<h:outputText value="#{bairro.cod_bairro}" />
						</p:column>
	
						<p:column>
							<f:facet name="header">
								<h:outputText value="Nome" />
							</f:facet>
							<h:outputText value="#{bairro.nom_bairro}" />
						</p:column>
						
						<p:column>
							<f:facet name="header">
								<h:outputText value="Ações" />
							</f:facet>
						
							<h:commandLink value="Editar" onclick="novo.show()"/>
							<h:commandLink value="Remover" action="#{bairroMB.remover(bairro)}" />
							
						</p:column>
					</p:dataTable>
		</h:form>
		
		
		
		
		
		<!-- FORM CADASTRO  -->
  		<p:dialog header="Novo Bairro" widgetVar="novo" modal="true" height="200" width="450"
  			action="#{bairroMB.novo}" onCloseUpdate="formGeral" >  
  			<h:form id="form" >
				<h:panelGroup id="Dados">
				    <h:outputText value="Nome:" />  
				   	<p:inputText value="#{bairroMB.bairro.nom_bairro}" required="true"/>  
			   		<p:commandButton value="Salvar" action="#{bairroMB.salvar()}"  oncomplete="novo.hide()" cellpadding="5"/>  
			   		<p:commandButton value="Limpar" onclick="#{bairroMB.limpar()}" />  
			   		<p:commandButton value="Cancelar" onclick="novo.hide()" />  
			   </h:panelGroup>
	   		</h:form>
		</p:dialog>     
		<!-- FORM CADASTRO  -->
		
		
	</ui:define>
	
	
</ui:composition>

Quando você clica em Novo o que acontece?

T

Assim…

Tem um botao “novo” fora do table
e um “editar” e “excluir” dentro do table

Qndo clica em novo, fora do table, ele abre o dialog e salva normal
mas qndo clica em editar, dentro do table, ele abre o dialog, mas fecha novamente
to axando q ele renderiza a table depois de editar…

A

acho q agora sakei
só da problema se vc clica no editar, né?
pelo botão novo funciona, né?

n será pq vc n tá usando o primefaces
vc tá usando a tag h
tenta usar a tag p
lá no commandLink
tendeu?

T

Grande andré…

Isso ai, estava usando a tag “h” no lugar do “p”…

Obrigado…

Criado 22 de junho de 2011
Ultima resposta 24 de jun. de 2011
Respostas 7
Participantes 2