Bom dia galera, estou com uma bruxaria no meu código aqui, ao clicar em SIM do OneRadio que tem os valores SIM e NAO, teria que mostrar o campo Percentual Consorcio, fiz um ajax para renderizar o campo porem ele so consegue renderizar se eu colcoar o id do form mais se eu apontar o componente direto ele nao consegue rendereziar, nao mostrar meu componte que representa o campo Percentual Consorcio, alguem pode me da um help por favor ? ou tenho que chamar um padre para tirar essa bruxaria do meu codigo…heehehe
<ui:define name="conteudo">
<h:form id="frmContrato" prependId="false">
<p:fieldset id="identificacao" legend="#{app['label.identificacao']}" styleClass="fieldset">
<h:panelGrid columns="1" width="100%" cellpadding="5">
<h:panelGroup>
<div style="float: left;margin-right: 20px">
<h:outputLabel value="#{app['label.consorcio']} *" for="consorcio" /><br/>
<h:selectOneRadio required="true" id="consorcio" value="#{contratoMB.contrato.consorcio}" requiredMessage="#{app['campoObrigatorio.consorcio']}">
<f:selectItem itemLabel="#{app['label.sim']}" itemValue="S" />
<f:selectItem itemLabel="#{app['label.nao']}" itemValue="N" />
<p:ajax update=":frmContrato:percent" listener="#{contratoMB.comandoHabilitarCampoPercentualConsorcio}" />
</h:selectOneRadio>
</div>
<h:panelGroup id="percent" rendered="#{contratoMB.habilitarCampoPercentualConsorcio}" >
<div style="float: left; margin-right: 20px">
<h:outputLabel value="#{app['label.porcentualConsorcio']} *" for="valorPercentual"/><br/>
<pe:inputNumber required="#{contratoMB.habilitarCampoPercentualConsorcio}" id="valorPercentual" maxValue="9999999999999999.99" minValue="0.00" value="#{contratoMB.contrato.percentualConsorcio}" symbol="%" decimalSeparator="," decimalPlaces="2" thousandSeparator="." label="#{app['label.porcentualConsorcio']}" requiredMessage="testar percent" />
</div>
</h:panelGroup>
</h:panelGroup>
</h:panelGrid>
</p:fieldset >
</h:form>
</ui:define>
public String comandoHabilitarCampoPercentualConsorcio(){
if(getContrato().getConsorcio().equals("S")){
this.habilitarCampoPercentualConsorcio = true;
}else{
this.habilitarCampoPercentualConsorcio = false;
}
return"";
}
Da forma que esta não estou conseguindo renderizar o campo :
<h:panelGroup id="percent" rendered="#{contratoMB.habilitarCampoPercentualConsorcio}" >
<div style="float: left; margin-right: 20px">
<h:outputLabel value="#{app['label.porcentualConsorcio']} *" for="valorPercentual"/><br/>
<pe:inputNumber required="#{contratoMB.habilitarCampoPercentualConsorcio}" id="valorPercentual" maxValue="9999999999999999.99" minValue="0.00" value="#{contratoMB.contrato.percentualConsorcio}" symbol="%" decimalSeparator="," decimalPlaces="2" thousandSeparator="." label="#{app['label.porcentualConsorcio']}" requiredMessage="testar percent" />
</div>
</h:panelGroup>
mais se eu dou um updtade no form “frmContrato” ele consegue renderizar… mais da forma que eu quero que e da update somente no campo nao rola ele nao reconhece…estranho