<a4j:support> para <rich:calendar

493 views
Skip to first unread message

Rildo Lessa

unread,
Jan 18, 2011, 1:38:03 PM1/18/11
to jav...@googlegroups.com
Boa tarde a todos!

Tô com o seguinte problema, uso o <a4j:support> na boa para um <h:selectOneMenu>, istó é, ao escolher alguma opção nesse componente o a4j dispara um método que eu desejo. Quando tento fazer a mesma coisa para um <rich:calendar> não rola, parece que os eventos onchange e onblur não funcionam para o <rich:calendar> segue o código.

O que fuciona:

<td>
     <h:outputLabel value="Equipamento :" />
     <h:selectOneMenu id="equipamentoVeiculo" value="#{painelEntregaBean.entity.categoriaId}" required="true">
          <f:selectItem itemLabel="a" itemValue="1"/>
          <f:selectItem itemLabel="b" itemValue="2"/>
     <a4j:support event="onchange" reRender="panels" action="#{painelEntregaBean.atualizar}" />
     <a4j:support event="onblur"   reRender="panels" action="#{painelEntregaBean.atualizar}" />   
     </h:selectOneMenu>
     <rich:message errorClass="error" for="equipamentoVeiculo" />
</td>

o que não funciona:

<td style="padding-right: 5px;">
    <h:outputLabel value="Data Rota"/><br/>
    <rich:calendar id="dataRota" value="#{painelEntregaBean.dataRota}" immediate="true" datePattern="dd/MM/yyyy HH:mm" defaultTime="00:00:00">
    <a4j:support event="onchange" reRender="panels" action="#{painelEntregaBean.atualizar}" />
    <a4j:support event="onblur"   reRender="panels" action="#{painelEntregaBean.atualizar}" />
    </rich:calendar>
    <rich:message for="dataRota"/>
 </td>

--
Grato
**************************************************
Rildo Lessa
Microsoft Office Specialista - MASTER
PROGRAMADOR JAVA
MSN: jrrl...@hotmail.com
talk: rildo...@gmail.com
(85) 86408982 - 99826535
**************************************************

Bruno Maomeh

unread,
Jan 18, 2011, 2:20:00 PM1/18/11
to jav...@googlegroups.com
o rich:calendar, por usar 2 componentes juntos (input e button), ele possui os eventos um pouco diferentes do convencional..
testa o com oninputchange e oninputblur.. depois dá uma olhada na documentação do rich:calendar, qe lá fala todos os eventos que ele suporta.

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Bruno Maomeh
   http://brunomaomeh.wordpress.com

Rildo Lessa

unread,
Jan 18, 2011, 2:24:31 PM1/18/11
to jav...@googlegroups.com
Valeu Bruno, resolveu! Obrigado!

André Marllus

unread,
Jan 19, 2011, 7:51:58 AM1/19/11
to jav...@googlegroups.com
Ola Rildo ou Bruno, tenho esse mesmo problema. Tentei solucionar com o oninputchange e oninputblur, funciona, mas é como se ele pegasse a data anteiror, ex: seleciono primeira vez e a data fica null, na segunda vez, pega a data da primeira selecionada.
Alguma Solução?
Agradeço!

Atenciosamente
.
.
.
André Marllus Xavier Soares
Bacharelando da FIP - Faculdades Integradas de Patos
Curso: Sistemas de Informação


2011/1/18 Rildo Lessa <rildo...@gmail.com>

Bruno Maomeh

unread,
Jan 19, 2011, 8:10:30 AM1/19/11
to jav...@googlegroups.com
como você está fazendo, André?

Rildo Lessa

unread,
Jan 19, 2011, 8:13:46 AM1/19/11
to jav...@googlegroups.com
Além da dica do Bruno também tive que acrescentar: <a4j:jsFunction name="ajaxSubmit"/>


<td style="padding-right: 5px;">
                    <h:outputLabel value="Data Rota"/><br/>
                    <rich:calendar id="dataRota" value="#{painelEntregaBean.dataRota}" immediate="true" datePattern="dd/MM/yyyy HH:mm" defaultTime="00:00:00">
                    <a4j:support event="onchanged" action="#{painelEntregaBean.atualizar}" reRender="popup, listaRotaPontoPedidoPainel, listaRotaPontoPedido" />
                    <a4j:support event="onchanged" action="#{painelEntregaBean.atualizar}" reRender="popup, listaRotaPontoPedidoPainel, listaRotaPontoPedido"  />
                    <a4j:support event="onchanged" oncomplete="alert('completed')"/>
                    </rich:calendar>
                    <a4j:jsFunction name="ajaxSubmit"/>

                    <rich:message for="dataRota"/>
                </td>

André Marllus

unread,
Jan 19, 2011, 9:02:44 AM1/19/11
to jav...@googlegroups.com
Estou fazendo assim:


 <rich:calendar id="dataRota" value="#{testeBean.dataTeste}" immediate="true" datePattern="dd/MM/yyyy HH:mm" defaultTime="00:00:00">
                  <a4j:support event="oninputchange" action="#{testeBean.exemplo2}" />
                  <a4j:support event="oninputblur"    action="#{testeBean.exemplo2}" />
</rich:calendar>

Ele sempre entra no método, mas a data que quero passar nao vai sincronizada.


Atenciosamente
.
.
.
André Marllus Xavier Soares
Bacharelando da FIP - Faculdades Integradas de Patos
Curso: Sistemas de Informação


2011/1/19 Rildo Lessa <rildo...@gmail.com>

André Marllus

unread,
Jan 19, 2011, 9:23:59 AM1/19/11
to jav...@googlegroups.com
Consegui galera fazer, fiz assim mesmo:

<rich:calendar  value="#{usuarioBean.dataTeste}"  valueChangeListener="#{usuarioBean.exemplo}" datePattern="dd/MM/yyyy HH:mm" >
               <a4j:support event="onchanged" ajaxSingle="true" />
 </rich:calendar>

e como a data estava vindo atrasada daquela outra forma, pego ela vindo pelo paramentro do valueChangeListener. Ae sim, fica da forma que quero.

Agradeço a ajuda e compreenção.

Atenciosamente
.
.
.
André Marllus Xavier Soares
Bacharelando da FIP - Faculdades Integradas de Patos
Curso: Sistemas de Informação


2011/1/19 André Marllus <andrem...@gmail.com>

Bruno Maomeh

unread,
Jan 19, 2011, 11:11:06 AM1/19/11
to jav...@googlegroups.com
desse modo, creio que apenas tirando o immediate=true deva funcionar.. pode fazer o teste?

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

André Marllus

unread,
Jan 19, 2011, 1:19:37 PM1/19/11
to jav...@googlegroups.com
Retirei e continua funcionando do modo anterior.
Do modo que fiz funciona perfeitinho.
Veleu kara.


Atenciosamente
.
.
.
André Marllus Xavier Soares
Bacharelando da FIP - Faculdades Integradas de Patos
Curso: Sistemas de Informação


2011/1/19 Bruno Maomeh <bruno...@gmail.com>
Reply all
Reply to author
Forward
0 new messages