spycall 14 de abr. de 2009
Coloque os campos de cada tipo em um outputpainel diferente, e use a propriedade rendered="" para mostrar 1 ou outro de acordo com o valor do seu combo.
paulofernandesjr 14 de abr. de 2009
foi exatamente isso que fiz, não tão exatamente…
fiz alterando o display de uma div
mas ai o biding não vai funcionar, ou vai?
teria como postar um exemplo?
abraço
spycall 15 de abr. de 2009
Você está usando RichFaces?
paulofernandesjr 15 de abr. de 2009
Sim estou usando o RichFaces
spycall 15 de abr. de 2009
<h:selectOneMenu id= "pagamento" value= "#{seuBean.tipoPagto}" >
<f:selectItem value= "1" label= "Cheque" />
<f:selectItem value= "2" label= "Cartao" />
<a4j:support ajaxSingle= "true" event= "onchange" reRender= "painel1,painel2" />
</h:selectOneMenu>
<h:panelGrid id= "painel1" styleClass= "layoutPagina" rendered= "#{seuBean.tipoPagto eq 1}" >
...
...
...
</h:panelGrid>
<h:panelGrid id= "painel2" styleClass= "layoutPagina" rendered= "#{seuBean.tipoPagto eq 2}" >
...
...
...
</h:panelGrid>
paulofernandesjr 15 de abr. de 2009
tem algo errado aqui
<fieldset>
<legend> Pagamento</legend>
<h:outputLabel for= "pagamento" value= "Pagamento" />
<h:selectOneMenu required= "false" value= "#{controleVenda.formaPagamento}" id= "pagamento" >
<f:selectItems value= "#{controleVenda.listaFormaPagamento}" />
<f:converter converterId= "br.com.ternet.cartao.bean.FormaPagamentoBean" />
<a4j:support ajaxSingle= "true" event= "onchange" reRender= "painel1,painel2" />
</h:selectOneMenu>
</fieldset>
<h:panelGrid id= "painel1" styleClass= "layoutPagina" rendered= "#{controleVenda.formaPagamento.detalhe eq 2}" >
<h:column>
<fieldset id= "det" >
<legend> Detalhes Pagamento</legend>
<h:outputLabel for= "nroCartao" value= "Número Cartão" />
<h:inputText id= "nroCartao" value= "#{controleVenda.numeroCartao}" maxlength= "20" />
<h:outputLabel for= "nroTransacao" value= "Número Transação" />
<h:inputText id= "nroTransacao" value= "#{controleVenda.numeroTransacao}" maxlength= "20" />
<h:outputLabel for= "bandeira" value= "Bandeira" />
<h:inputText id= "bandeira" value= "#{controleVenda.bandeira}" maxlength= "20" />
</fieldset>
</h:column>
</h:panelGrid>
<h:panelGrid id= "painel2" styleClass= "layoutPagina" rendered= "#{controleVenda.formaPagamento.detalhe eq 1}" >
<h:column>
<fieldset id= "det" >
<legend> Detalhes Pagamento</legend>
<h:outputLabel for= "banco" value= "Número Banco" />
<h:inputText id= "banco" value= "#{controleVenda.numeroBanco}" maxlength= "5" />
<h:outputLabel for= "agencia" value= "Número Agência" />
<h:inputText id= "agencia" value= "#{controleVenda.numeroAgencia}" maxlength= "10" />
<h:outputLabel for= "conta" value= "Número Conta" />
<h:inputText id= "conta" value= "#{controleVenda.numeroConta}" maxlength= "20" />
<h:outputLabel for= "c1" value= "Número C1" />
<h:inputText id= "c1" value= "#{controleVenda.c1}" maxlength= "5" />
<h:outputLabel for= "c2" value= "Número C2" />
<h:inputText id= "c2" value= "#{controleVenda.c2}" maxlength= "5" />
<h:outputLabel for= "c3" value= "Número C3" />
<h:inputText id= "c3" value= "#{controleVenda.c3}" maxlength= "5" />
<h:outputLabel for= "titular" value= "Nome Titular *" />
<h:inputText id= "titular" value= "#{controleVenda.nomeTitular}" maxlength= "120" />
<h:outputLabel for= "cpfTitular" value= "CPF Titular *" />
<h:inputText id= "cpfTitular" value= "#{controleVenda.cpfTitular}" maxlength= "20" />
<p> * Preencha somente se o cheque for de <strong> terceiros</strong></p>
</fieldset>
</h:column>
</h:panelGrid>
ele não esta exibindo o que deveria, ou melhor num exibe nada
spycall 15 de abr. de 2009
Aqui vc colocou:
<h:selectOneMenu required="false" value="#{controleVenda.formaPagamento}" id="pagamento">
<f:selectItems value="#{controleVenda.listaFormaPagamento}" />
<f:converter converterId="br.com.ternet.cartao.bean.FormaPagamentoBean" />
<a4j:support ajaxSingle="true" event="onchange" reRender="painel1,painel2"/>
</h:selectOneMenu>
e é
<h:selectOneMenu required="false" value="#{controleVenda.formaPagamento.detalhe}" id="pagamento">
paulofernandesjr 15 de abr. de 2009
fiz e num deu nada…
ele posta via ajax, mas não exibe o resultado na página
o que pode ser
quando ele faz o submit do formulario ele volta a tela que deveria estar
o que pode ser?