PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Problema <p:ajax>+<h:selectOneMenu> #423493

12/09/2012

0

fala galera, estou com um problema bobo mais chato, meu selectonemenu não dar update em uns componentes estáticos quando dou o change nele, mesmo executando o método, alguém ai pode me ajudar?


segue o código:

componente(componentizado):

<h:selectOneMenu id="#{cc.attrs.id}" value="#{cc.attrs.value}" disabled="#{cc.attrs.disabled}"
					 style="width:#{cc.attrs.size};"
					styleClass="selectItem #{cc.attrs.validadores== null ? '' : cc.attrs.validadores}" required="#{cc.attrs.required}" >

					<c:if test="#{!cc.attrs.noSelectLabel}">
						<f:selectItem itemLabel="#{msgSistema.lblSelecione}" itemValue="" />
					</c:if>
					<f:selectItems value="#{cc.attrs.selectItens}"
						itemLabel="#{cc.attrs.itemLabel}" var="item"
						itemValue="#{cc.attrs.itemValue}" />
					<f:converter converterId="selectOneUsingObjectConverter" />

					<p:ajax id="teste" global="true" process="#{cc.attrs.process}" 
						listener="#{cc.attrs.valueChangeListener}" event="change"
						update="#{cc.attrs.update}" />

				</h:selectOneMenu>



implementação do componente:

<comp:comboBox id="fornecedor" process="@this, :formI:div:diplay"
				value="#{mBeanManter.in.exportador}"
				changeListener="true"
				valueChangeListener="#{mBeanManter.renderizaDadosFornecedor}"
				selectItens="#{mBeanManter.fornecedores}"
				label="#{msgInvoice.lblFornecedor}" itemLabel="#{item.nomeFantasia}"
				itemValue="#" entity="true"
				update=":formI:div:diplay, :formI:div:rend" />
			



parte que deveria ser renderizada que fica abaixo do combo:


<p:outputPanel id="diplay">
					
				<h:panelGrid columnClasses="2" rendered="#{mBeanManter.renderizar}" id="rend">
					
							<h:outputText value="#{msgInvoice.lblNomeExportador}: "
								styleClass="labelFiltro_bold" />
							<h:outputText id="nomeExport" value="nomeExportador"
								styleClass="labelFiltro" />
						
						
							<h:outputText value="#{msgInvoice.lblEndereco}: "
								styleClass="labelFiltro_bold" />
							<h:outputText id="endExport"
								value="#{mBeanManter.bairro}"
								styleClass="labelFiltro" />
				
							<h:outputText value="#{msgInvoice.lblCodePostal}: "
								styleClass="labelFiltro_bold" />
							<h:outputText id="codPostExport"
								value="#{mBeanManter.endereco.bairro}"
								styleClass="labelFiltro" />
						
				</h:panelGrid>	
				
				</p:outputPanel>




método que sim, ele é chamado:

 private String bairro;
   private boolean renderizar;
   
   public void renderizaDadosFornecedor() {
		renderizar =  false;
		if (in.getExportador() != null
				&& in.getExportador().getId() != null) {
			renderizar =  true;
			try {
				PessoaJuridica fornecedor = cadastroFacade.getPessoaById(in.getExportador().getId());
				in.setExportador(fornecedor);
				endereco  = new Endereco();
				endereco = fornecedor.getEnderecos().get(0);
				bairro = endereco.getBairro();
				
			} catch (BusinessException e) {
				in.setExportador(null);
				e.printStackTrace();
			}
		}else{
			invoice.setExportador(null);
		}
	}



Grato se puderem me ajudar
Wisley Souza

Wisley Souza

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar