Primefaces p: calendario con p: valor ajax no actualizado (retraso de un paso)

Quiero llamar a un bean después de seleccionar una fecha en unap:calendar. En mi configuración tengo un@Named @ViewScoped Frijol, la claseObWithDate es un@Entity con un campo de fechaválida desde.

<code><h:form id="fUser">
  <p:dataTable id="dt" var="cum" value="#{myBean.listObWithDates}">
    <p:column>
      <p:calendar id="cValidFrom" value="#{cum.validFrom}">  
        <p:ajax event="dateSelect" listener="#{myBean.update(cum)}"
                update=":fUser:dt"/>  
      </p:calendar>  
    </p:column>
  </p:dataTable>
</h:form>
</code>

Lo bueno es que el método del frijol.update(ObWithDate myO) Se llama con el objeto correcto cada vez que selecciono una fecha. Lo malo es quemyO.validFrom No tiene el valor correcto. Siempre esun paso atras:

Campo inicializado con 2012-01-01Cambio de GUI a 2012-01-05, el método bean se debugs a 2012-01-01Cambio de GUI a 2012-01-15, el método bean se debugs a 2012-01-05

Este problema me vuelve loco, he encontrado varios problemas con valores no actualizados correctamente y también algunos sobrep:calendar. La mayoría de ellos sugieren usar el atributo.selectListener="#{calendarBean.handleDateSelect}" con unhandleDateSelect(DateSelectEvent event) método. Pero quiero llamar a mi método ya que quiero pasar la instancia actual de la variable.

Firebug verifica que los valores actualizados correctos se transmiten en una solicitud POSTEstoy usando Primefaces 3.2 y JBoss-7.1.1-FinalIncluso sin elp:dataTable y solo usandop:calendar El problema sigue siendo el mismo.losincorrecto El valor de la salida de depuración se puede observar para el método-Objeto.update(ObWithDate myO) así como para la entrada correspondiente enmyBean.listObWithDates.<p:ajax immediate="true" .../> No resuelve este problema.

Actualizar MattHandy me ayudó mucho, la pregunta resultante.¿Cómo obtener el elemento de la lista correspondiente en la llamada ajax dentro del método de beans? Se formula en el seguimiento.JSF p: calendar in p: dataTable: cómo obtener la fila de p: ajax dateSelect event.

Respuestas a la pregunta(2)

Su respuesta a la pregunta