캘린더 입력 요소와 그 위에 datatable이라는 두 개의 프라임 페이스가있는 양식이 있습니다. 달력 항목은 테이블에 표시된 결과를에서까지 값으로 필터링하는 데 사용됩니다. 따라서 팝업을 통해 마우스 조작을 할 때 잘 작동하는 p : ajax 'dateSelect'이벤트를 사용합니다. 하지만 keybord를 사용하여 입력 필드에서 날짜를 수동으로 변경하면 변경 이벤트가 발생하지 않습니다. 두 번째 p : ajax 이벤트를 사용하여 흐림 또는 변경하면 새 값을 가져올 수 없습니다.primefaces calendar에서 수동으로 입력 한 날짜를 제출하는 방법은 무엇입니까?
<p:calendar id="startDate"
value="#{filterStart}"
required="true"
showOn="button"
maxdate="#{filterEnd}"
>
<p:ajax event="dateSelect"
listener="#{listController.onFilterStartChanged}"
update="filterTbl, endDate" />
<p:ajax event="change"
listener="#{listController.onFilterStartBlured}"
update="filterTbl, endDate"
process="@this"
partialSubmit="true" immediate="true" />
</p:calendar>
선택은 (는) 새로운 값을 읽을 수 년대 pupup을 통해 만들어 질 때 호출되는 onFilterStartChanged 방법 :
public void onFilterStartChanged(final SelectEvent event) {...}
하지만 다른 구성 요소에 초점을 이동할 때 키보드 변경 해고되지 않습니다
public void onFilterStartBlured(final AjaxBehaviorEvent event) {
Date newDate = (Date)((Calendar)event.getSource()).getValue();
...
}
어떻게 새 날짜를 볼 수 있습니까?