单击上一个,下一个时如何获取事件:Schedule with primefaces
How to get the event when prev,next are clicked : Schedule with primefaces
我添加了 this page 的 PrimeFaces 时间表并得到如下结果:
我的以下事件运行良好,但如何在单击 prev
或 next
时获取和处理事件?
我还在图片中突出显示了一些:
<p:ajax event="dateSelect" listener="#{scheduleJava8View.onDateSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
<p:ajax event="eventSelect" listener="#{scheduleJava8View.onEventSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
<p:ajax event="eventMove" listener="#{scheduleJava8View.onEventMove}" update="messages" />
<p:ajax event="eventResize" listener="#{scheduleJava8View.onEventResize}" update="messages" />
要在服务器上/在您的 bean 中捕获日期/查看更改,我发现最简单的方法就是进行延迟加载 (showcase, documentation)。这基本上允许您在 bean 中有一个方法,在视图更改的情况下传递开始和结束日期:
lazyModel = new LazyScheduleModel() {
@Override
public void loadEvents(LocalDateTime start, LocalDateTime end) {
//
}
};
.. 作为奖励,您的事件将延迟加载!
请注意,日期类型(java.time.LocalDateTime
或 java.util.Date
)将取决于 PrimeFaces 版本。见 migration guide.
要修改 UI,您需要知道 PrimeFaces 正在使用 FullCalendar for the p:schedule
component. You can use the extender
attribute and configure the FullCalendar to your needs. See the toolbar documentation。请注意,FullCalendar 的版本将取决于 PrimeFaces 版本。再次,请参阅迁移指南。
要设置时间格式,请使用 timeFormat
属性。它使用 Moment.js. You could use hh:mmA
. Try it on https://www.primefaces.org/showcase/ui/data/schedule/configureable.xhtml
我添加了 this page 的 PrimeFaces 时间表并得到如下结果:
我的以下事件运行良好,但如何在单击 prev
或 next
时获取和处理事件?
我还在图片中突出显示了一些:
<p:ajax event="dateSelect" listener="#{scheduleJava8View.onDateSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
<p:ajax event="eventSelect" listener="#{scheduleJava8View.onEventSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
<p:ajax event="eventMove" listener="#{scheduleJava8View.onEventMove}" update="messages" />
<p:ajax event="eventResize" listener="#{scheduleJava8View.onEventResize}" update="messages" />
要在服务器上/在您的 bean 中捕获日期/查看更改,我发现最简单的方法就是进行延迟加载 (showcase, documentation)。这基本上允许您在 bean 中有一个方法,在视图更改的情况下传递开始和结束日期:
lazyModel = new LazyScheduleModel() {
@Override
public void loadEvents(LocalDateTime start, LocalDateTime end) {
//
}
};
.. 作为奖励,您的事件将延迟加载!
请注意,日期类型(java.time.LocalDateTime
或 java.util.Date
)将取决于 PrimeFaces 版本。见 migration guide.
要修改 UI,您需要知道 PrimeFaces 正在使用 FullCalendar for the p:schedule
component. You can use the extender
attribute and configure the FullCalendar to your needs. See the toolbar documentation。请注意,FullCalendar 的版本将取决于 PrimeFaces 版本。再次,请参阅迁移指南。
要设置时间格式,请使用 timeFormat
属性。它使用 Moment.js. You could use hh:mmA
. Try it on https://www.primefaces.org/showcase/ui/data/schedule/configureable.xhtml