Problemas ao setar data no rich calendar (Resolvido)

Fala galera,

Eu fiz um código utilizando o calendar do RichFaces e estou com um problema ao setar a data selecionada no bean, ele esta setando sempre a data selecionada anteriormente, por exemplo, se eu clicar no dia 28 ele não manda nada, porém se eu clicar em qualquer outro dia ai ele manda o dia 28 que eu havia clicado anteriormente e assim sucessivamente sempre mostrando a data anterior.

Navegando pelo fórum eu encontrei o seguinte post: http://www.guj.com.br/java/198784-problema-com-richcalendar-popupfalse-e-a-data-selecionada-em-value que corresponde justamente ao meu problema mas infelizmente não foi postado a solução.

<rich:calendar id="organizer" 
            popup="false"
            value="#{MB.selectedDate}"
            showApplyButton="false" 
            cellWidth="95px" cellHeight="40px"
            boundaryDatesMode="none" 
            showWeeksBar="false"
            onchanged="if (event.rich.date) {ajaxSubmit();}"
            dataModel="#{CalendarModel}" showFooter="false">
               //Aqui eu tentei utilizar outros eventos como "ondateselect" mas sem sucesso
               <a4j:support event="ondateselected" reRender="rdtable" process="#{MB.selectedDate}" ajaxSingle="true" />
</rich:calendar>
<rich:tabPanel id="rdtable">
   <rich:tab label="Cadastro">
      <h:panelGrid columns="2">
         <h:column>
            <label>Data:</label>
         </h:column>
         <h:column>
            <h:inputText value="#{MB.selectedDate}">
               <f:convertDateTime pattern="dd/MM/yyyy" />  
            </h:inputText>
         </h:column>
      </h:panelGrid>
   </rich:tab>
</rich:tabPanel>

Desde já grato!

Claramente o problema é o ajax que você está trabalhando. Ele primeiro atualiza a sua tela com as informações atuais (antes de modificar a data) e só depois ele modifica a data no seu bean.

Não tenho muita certeza, mas eu vi isso daqui:

onchanged="if (event.rich.date) {ajaxSubmit();}"

Além dessa parte, vc tem o a4j:support que processa ajax também. Talvez eles não estejam funcionando corretamente juntos.

Eu dei uma limpada na declaração do calendar para testar mas continuo obtendo o mesmo resultado, segue:

<rich:calendar id="organizer" 
         popup="false"
         value="#{MB.selectedDate}"
         dataModel="#{CalendarModel}" 
         showWeeksBar="false"
         cellWidth="95px" cellHeight="40px">
            <a4j:support event="ondateselected" reRender="rdtable" ajaxSingle="true" />
</rich:calendar>

Como eu poderia mudar este comportamento? Trocar o evento do a4j ou tentar uma declaração diferente?

Segundo a documentação:

http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/rich_calendar.html

E esse post aqui:

https://community.jboss.org/thread/189407

Bastaria você mudar o evento para onchanged.

Eu havia tentado usar o “onchanged” na primeira declaração que eu postei acima mas não havia funcionado, mas o problema era que a linha:

onchanged="if (event.rich.date) {ajaxSubmit();}"  

Não estava trabalhando bem com o a4j como você disse, retirando esta linha e colocando “onchanged” no a4j funcionou.

Valeu pela ajuda Arthur.