lgweb
Março 28, 2008, 7:26pm
#1
estou tentando implementar a seguinte situacao, em um cadastro de clientes tenho um selectBooleancheckbox,que qdo selecionado renderize o tipo de pessoa selecionada , tipo pessoa fisica ou pessoa juridica mas nao estou conseguindo alguem pode dar uma luz por favor.
meu selectBooleanCheckbox ta assim:
<h:outputText value="#{msg.fisica}"></h:outputText>
<h:selectBooleanCheckbox value="cliente.cliente.tipopesso" id="s1" immediate="true">
<a4j:support ></a4j:support>
</h:selectBooleanCheckbox>
<h:outputText value="#{msg.juridica}"></h:outputText>
<h:selectBooleanCheckbox value="cliente.cliente.tipopesso" id="s2" immediate="true">
</h:selectBooleanCheckbox>
esta e uma das regioes que pretendo renderizar
<a4j:region id="pf" rendered="#{ cliente.cliente.tipopessoa}" immediate="true">
<h:panelGrid columns="2" width="1121">
<h:panelGroup>
<h:outputText value="#{msg.nome}"></h:outputText>
<h:inputText value="#{cliente.pessoafisica.nome}"
style=" width : 641px;" styleClass="select" immediate="true"></h:inputText>
</h:panelGroup><br>
<h:panelGroup>
<h:outputText value="#{msg.cpf}"></h:outputText>
<h:inputText value="#{cliente.pessoafisica.cpf}"
styleClass="select" style=" width : 211px;" immediate="true"></h:inputText>
<h:outputText value="#{msg.rg}"></h:outputText>
<h:inputText value="#{cliente.pessoafisica.rg}"
styleClass="select" style=" width : 325px;" immediate="true"></h:inputText>
</h:panelGroup>
</h:panelGrid>
</a4j:region>
Desde ja mto obrigado.
tma
Março 28, 2008, 8:35pm
#2
Amigão
na tag
<a4j:support ></a4j:support>
precisa colocar as propriedades reRender=“region” e event=“onclick”
<a4j:support reRender="region" event="onclick" />
Acho que é isso
lgweb
Março 28, 2008, 8:56pm
#3
cara fiz como vc falw tipo coloquei no evento onchange para renderizar 3 regioes,so que eu queria saber como eu faco para renderizar de
acordo com o o valor que for passado para o bean no caso sera “F” qdo pessoa fisica e “J” qdo juridica como faco
para utilizar isso:
[code]
<a4j:region id=“pf” rendered=#{cliente.cliente.tipopessoa=F}immediate=“true”> aqui ele so renderizaria se o valor de cliente.cliente.tipopessoa for F
<a4j:region id=“pf” rendered=#{cliente.cliente.tipopessoa=F}immediate=“true”>
<h:outputText value="#{msg.tipopessoa}"></h:outputText>
<h:selectOneMenu value="#{cliente.cliente.tipopessoa}" styleClass="select" style=" width : 160px;" onchange="submit()" immediate="true">
<f:selectItem itemValue="F" itemLabel="#{msg.fisica}"/>
<f:selectItem itemValue="J" itemLabel="#{msg.juridica}"/>
<a4j:support immediate="true" event="onchange" reRender="pf,pj,r" requestDelay="200"></a4j:support>
</h:selectOneMenu>
<h:panelGrid columns="2" width="1052"><h:panelGroup>
<h:outputText value="#{msg.cidade}"></h:outputText>
<h:selectOneMenu value="#{cliente.cliente.cidadeid}"
style=" width : 214px;" styleClass="select">
<f:selectItems value="#{cliente.cidadeids}"/>
</h:selectOneMenu>
<a4j:region id="pf" immediate="true">
<h:panelGrid columns="2" width="1121">
<h:panelGroup>
<h:outputText value="#{msg.nome}"></h:outputText>
<h:inputText value="#{cliente.pessoafisica.nome}"
style=" width : 641px;" styleClass="select" immediate="true"></h:inputText>
</h:panelGroup><br>
<h:panelGroup>
<h:outputText value="#{msg.cpf}"></h:outputText>
<h:inputText value="#{cliente.pessoafisica.cpf}"
styleClass="select" style=" width : 211px;" immediate="true"></h:inputText>
<h:outputText value="#{msg.rg}"></h:outputText>
<h:inputText value="#{cliente.pessoafisica.rg}"
styleClass="select" style=" width : 325px;" immediate="true"></h:inputText>
</h:panelGroup>
</h:panelGrid>
</a4j:region>
<a4j:region id="pj" immediate="true">
<h:panelGrid columns="3" width="1109">
<h:panelGroup>
<h:outputText value="#{msg.nomefantasia}"></h:outputText>
<h:inputText value="#{cliente.pessoajuridica.nomefantasia}"
style=" width : 319px;" id="nf" maxlength="40"
required="true" styleClass="select"
requiredMessage="#{msg.obrigatorio}" label="#{msg.nomefantasia}" immediate="true"></h:inputText>
<h:message for="nf" styleClass="erro" errorStyle="erro"></h:message>
</h:panelGroup><br><br>
<h:panelGroup>
<h:outputText value="#{msg.cnpj}"></h:outputText>
<h:inputText value="#{cliente.pessoajuridica.cnpj}" id="cnpj"
maxlength="12" required="true"
requiredMessage="#{msg.obrigatorio}" styleClass="select"
style=" width : 167px;" label="#{msg.cnpj}" immediate="true"></h:inputText>
<h:message for="cnpj" styleClass="erro"></h:message>
</h:panelGroup>
</h:panelGrid>
</a4j:region>
valew pela ajuda.
fcsa
Março 29, 2008, 2:22pm
#4
Cara… olhei teu código… mas vou sugerir como eu faço num código mais simples aki.
no bean…tu cria um método lá pra retornar um boolean…
pera…vou mostrar em código q falando eu sou mt ruim…
–isso aki no teu bean
public boolean getRenderizarFisica(){
return (this.cliente.cliente.tipoPesso.equals("F"));
}
–tela
<h:panelGroup id="idGroup">
<a4j:region id="geral">
<h:outputText value="#{msg.fisica}"></h:outputText>
<h:selectBooleanCheckbox value="cliente.cliente.tipopesso" id="s1" immediate="true">
<a4j:support id="supportChange" event="onchange" reRender="geral" />
</h:selectBooleanCheckbox>
<a4j:region id="pf" rendered="#{cliente.cliente.renderizarFisica}">
----coisas aki
</a4j:region>
<a4j:region id="pj" rendered="#{!cliente.cliente.renderizarFisica}">
----coisas aki
</a4j:region>
</a4j:region>
</h:panelGroup>
da uma olhada ai… talvez n seja a melhor prática… mas é como uso e
funciona legal…
se o codigo num tiver funcionando totalmente… da uma olhada pq fiz
ele rapidinho e direto aki no forum.
espero ter ajudado…
flw
cara basta colocar dentro dessa tags e tudo renderiza automático:
<a4j:outputPanel id="panel" ajaxRendered="true"/>