Можно ли передать новую дату Календаря в бине без слушателя? - PullRequest
3 голосов
/ 19 августа 2011

Я пытаюсь передать новую дату из PrimeFaces p: calendar (помещается в столбец p: dataTable) в базовый компонент:

<p:column >
    <p:calendar value="#{bean.date}">`
        <p:ajax />
    </p:calendar>
</p:column>

Он не обновляет bean.date.Варианты с

<p:ajax update="@this" event="change"/>
<p:ajax update="@this" event="select"/>

также не обновляют bean.date.Единственный способ, который я нашел, это использование слушателя.Тем не менее, я полагаю, должен быть способ без реализации слушателя, как для простых граней:

<p:column>
  <h:inputText value="#{bean.note}" >
      <f:ajax/>
  </h:inputText>
</p:column>

, который прекрасно работает для меня.Кто-нибудь знает, как заставить это работать!?

Ответы [ 2 ]

0 голосов
/ 03 мая 2012
 <p:calendar value="#{Bean.value}">
   <p:ajax update="display" event="dateSelect" listener="#{Bean.handleDateSelect}"/>
 </p:calendar>

Это должно быть полезно ... но без слушателя я не думаю, что ты не можешь ... Ты не можешь ...

0 голосов
/ 02 ноября 2011

p: календарь немного сложен для ajax;onSelectUpdate & selectListener являются ключом;

<p:column>
  <h:inputText id="itDate" value="#{bean.note}" >
      <f:ajax/>
  </h:inputText>
</p:column>

, и вы должны реализовать метод handleDateSelect в Бине;

public void handleDateSelect(DateSelectEvent event) {
    Date date = event.getDate();
    setDate(date);
    }
...