(Resolvido) Primefaces - Event Listener de Tree não atualiza Form

1 resposta
H

Galera, estou usando o componente Tree do Primefaces e preciso fazer que apareça um campo na tela quando o usuário clicar em um nó da árvore.

<p:fieldset id="content" legend="${helpMsgs.label_content}">
							    <p:tree value="#{ajudaController.root}" var="node" dynamic="true" cache="false"  
            						selectionMode="single" selection="#{ajudaController.selectedNode}" id="content">  
							    	<p:ajax event="select" update=":form:inclusion_esn_1" listener="#{ajudaController.onNodeSelect}" /> 
							        <p:treeNode id="treeNode">  
							            <h:outputText value="#{node}" id="lblNode"/>  
							        </p:treeNode>  
							    </p:tree>
						    </p:fieldset>   
						     
					    </p:layoutUnit>  
						  
						<!-- INCLUSAO DE ESN -->
						<p:layoutUnit position="center">  
						         
							<!-- Tela de Abertura -->
							<p:fieldset id="inclusion_esn_1" legend="${helpMsgs.label_inclusion_esn}" rendered="#{ajudaController.telaAbertura}">
								<h:outputLabel value="tela abertura " styleClass="textLabel"/>
							</p:fieldset>
													      
						</p:layoutUnit>

Eu debuguei e caiu no método do Controller.

public void onNodeSelect(NodeSelectEvent event) {
		telaAbertura = true; 
	}  

/// getters and setters

	public boolean getTelaAbertura() {
		return telaAbertura;
	}

No atributo update do evento eu coloquei o id do campo que eu quero que apareça. Embora tenha caído no método onNodeSelect, o campo não apareceu na tela.
Alguém saberia dizer se tem alguma coisa errada no meu código?

1 Resposta

H

Consegui resolver galera.
Em vez de atualizar o p:fieldset, coloquei o id do layout.

<h:form id="form">  
						<p:layout style="min-width:400px;min-height:200px;" id="layout">  
						    
					    <!-- CONTEUDO -->
					    <p:layoutUnit position="west" resizable="true" size="400" minSize="300" maxSize="500">
					        
							<p:fieldset id="content" legend="${helpMsgs.label_content}">
							    <p:tree value="#{ajudaController.root}" var="node" id="tree" dynamic="true" cache="false" selectionMode="single" >      
							    	<p:ajax event="select" update=":form:layout" listener="#{ajudaController.onNodeSelect}" /> 
							        <p:treeNode id="treeNode">  
							            <h:outputText value="#{node}" id="lblNode"/>  
							        </p:treeNode>  
							    </p:tree>
						    </p:fieldset>   
						     
					    </p:layoutUnit>  
						  
						<!-- INCLUSAO DE ESN -->
						<p:layoutUnit position="center">  
						         
							<!-- Tela de Abertura -->
							<p:fieldset id="inclusion_esn_1" legend="${helpMsgs.label_inclusion_esn}" rendered="#{ajudaController.telaAbertura}">
								<h:outputLabel value="tela abertura " styleClass="textLabel"/>
							</p:fieldset>
							
							<!-- Manutencao de ESN -->
							<p:fieldset id="inclusion_esn_2" legend="${helpMsgs.label_inclusion_esn}">
								<h:outputLabel value="Teste" styleClass="textLabel"/>
							</p:fieldset>	    
						      
						</p:layoutUnit>  
						
						
						
					</p:layout>  
				</h:form>

Valeu.

Criado 21 de agosto de 2013
Ultima resposta 21 de ago. de 2013
Respostas 1
Participantes 1