nesken  
            
           
           
          
              
                Março 18, 2015,  3:08pm
               
               
          #1 
           
         
        
          Bom dia pessoal. Ja testei todas as soluções que encontrei e não funcionaram. Uso o primefaces 5.1. 
Segui o exemplo da pagina do primaface. Ao escolher um item em um selectOneMenu gostaria que populasse o outro selectOneMenu
Porem o método não é executado nem com reza brava.
Meu xhtml
<h:form id="formRMV">
		<h:outputLabel for="matriz" value="Grupo: " />
		<p:selectOneMenu id="matriz" value="#{reuniaoVendasMensalBean.matriz}">
			<p:ajax listener="#{reuniaoVendasMensalBean.atualizaEmpresas}" update="empresas"/>
			<f:selectItem itemLabel="Selecione" itemValue="" />
			<f:selectItems value="#{reuniaoVendasMensalBean.matrizes}" var="m"
				itemLabel="#{m.nome}" />
		</p:selectOneMenu>
		<h:outputLabel for="empresas" value="Empresa: " />
		<p:selectOneMenu id="empresas"
			value="#{reuniaoVendasMensalBean.empresa}">
			<f:selectItem itemLabel="Selecione" itemValue="" />
			<f:selectItems value="#{reuniaoVendasMensalBean.empresas}" var="e"
				itemLabel="#{e.nome}" />
		</p:selectOneMenu>
Metodo que desejo chamar
public void atualizaEmpresas(){
		System.out.println("passei aqui");
		if (matriz != null && !matriz.equals("")) {
			empresas = daoE.getEmpresasPorMatriz(matriz.getCodEmpresa());
		} else {
			empresas = new ArrayList<Empresas>();
		}
	}
ja testei com event=“change” tambem e nada… ja testei com  update=“formRMV:empresas” tambem e nada…
Alguem se candidata a me ajudar?
         
         
           
        
            
            
            
         
         
             
             
          
       
      
        
        
          Adicione process="@this " e mude a assinatura do seu método.
[code]<p:ajax listener="#{reuniaoVendasMensalBean.atualizaEmpresas}" update=“empresas”/>
public void atualizaEmpresas(AjaxBehaviorEvent e){[/code]
         
         
        
            
            
            
         
         
             
             
          
       
      
        
          
          
            nesken  
            
           
           
          
              
                Março 19, 2015, 12:14pm
               
               
          #3 
           
         
        
          Bom dia e obrigado pela resposta, mas não funcionou. Ficou assim:
xhtml
<p:selectOneMenu id="matriz" value="#{reuniaoVendasMensalBean.matriz}">
			<p:ajax listener="#{reuniaoVendasMensalBean.atualizaEmpresas}"  update="empresas" process="@this"/>
			<f:selectItem itemLabel="Selecione" itemValue="" />
			<f:selectItems value="#{reuniaoVendasMensalBean.matrizes}" var="m"
				itemLabel="#{m.nome}" />
		</p:selectOneMenu>
		<h:outputLabel for="empresas" value="Empresa: " />
		<p:selectOneMenu id="empresas"
			value="#{reuniaoVendasMensalBean.empresa}" >
			<f:selectItem itemLabel="Selecione" itemValue="" />
			<f:selectItems value="#{reuniaoVendasMensalBean.empresas}" var="e"
				itemLabel="#{e.nome}" />
		</p:selectOneMenu> 
Bean
public void atualizaEmpresas(AjaxBehavior e){
		System.out.println("passei aqui");
		if (matriz != null && !matriz.equals("")) {
			empresas = daoE.getEmpresasPorMatriz(matriz.getCodEmpresa());
		} else {
			empresas = new ArrayList<Empresas>();
		}
	} 
testei com AjaxBehavior da biblioteca do primefaces e do javax.faces. Continua sem executar o método via ajax.
         
         
        
            
            
            
         
         
             
             
          
       
      
        
        
          Olá nesken, faltou o Event.
 
         
         
        
            
            
            
         
         
             
             
          
       
      
        
          
          
            nesken  
            
           
           
          
              
                Março 19, 2015,  9:20pm
               
               
          #5 
           
         
        
          Falha minha, mas ainda não funcionou.
public void atualizaEmpresas(AjaxBehaviorEvent e){
		System.out.println("passei aqui");
		if (matriz != null && !matriz.equals("")) {
			empresas = daoE.getEmpresasPorMatriz(matriz.getCodEmpresa());
		} else {
			empresas = new ArrayList<Empresas>();
		}
	}
xhtml
[code]<h:outputLabel for=“matriz” value="Grupo: " />
		<p:selectOneMenu id="matriz"
			value="#{reuniaoVendasMensalBean.matriz}" style="font-size:11px;">
						<p:ajax listener="#{reuniaoVendasMensalBean.atualizaEmpresas}"  update="empresas" process="@this"/>
			<f:selectItem itemLabel="Selecione" itemValue="" />
			<f:selectItems value="#{reuniaoVendasMensalBean.matrizes}" var="m"
				itemLabel="#{m.nome}" />
		</p:selectOneMenu>
				<h:outputLabel for="empresas" value="Empresa: " />
				<p:selectOneMenu id="empresas"
					value="#{reuniaoVendasMensalBean.empresa}" >
					<f:selectItem itemLabel="Selecione" itemValue="" />
					<f:selectItems value="#{reuniaoVendasMensalBean.empresas}" var="e"
						itemLabel="#{e.nome}" />
				</p:selectOneMenu>[/code] 
         
         
        
            
            
            
         
         
             
             
          
       
      
        
        
          Tenta declarar o evento ajax no p:ajax.