【问题标题】:primefaces schedule with parameter in jsfjsf中带有参数的primefaces时间表
【发布时间】:2016-09-16 16:30:55
【问题描述】:

您好,在我在项目中遇到困难后,我在这里寻求您的帮助。欢迎您对 vue 的不同观点。 我正在使用 primefaces Schedule 来执行给定的任务,但我不知道如何 我可以将一个参数传递给我的支持 bean。当像 SelectEvent 或 dateSelect 这样的计划事件触发时,我想在支持 bean 中使用这个参数。例如,如果我有一个参数 personeID 我会传递这个 bean 的参数,以便当 actionListener 将激活它 设置可以在bean中初始化,以便我可以使用。 我的代码

<p:schedule id="schedule" value="#{inscrireAgendaBean.eventModel}" widgetVar="myschedule"  process="@form" axisFormat="HH:mm"  columnFormat="dddd D/MM" firstHour="08" locale="fr" timeZone="GMT+1"  timeFormat="HH:mm">

  <p:ajax event="dateSelect" listener="#{inscrireAgendaBean.onDateSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />

  <p:ajax event="eventSelect" listener="#{inscrireAgendaBean.onEventSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />

 </p:schedule>

我只想知道当 eventSelect 或 dateSelect 触发时是否有可能向我的 bean 添加参数 谢谢!!!

【问题讨论】:

  • 您阅读过文档吗?这在那边覆盖得很好
  • 是的,我已经阅读了 primefaces 用户指南,但我没有在那里找到它。因此,如果您对我有任何想法,它也可以帮助我。
  • 好的,你需要详细说明才能在这里得到一些答案:) 你可以从这里开始,例如:primefaces.org/showcase/ui/data/schedule.xhtml line 171

标签: jsf primefaces glassfish backing-beans


【解决方案1】:

我从您的问题中了解到,您想在选择事件时触发侦听器,因此您必须添加 p:ajaxeventSelect 事件:

<p:schedule id="scheduleLocale"  value="#{managedBean.schedule}" draggable="false" resizable="false" axisFormat="HH:mm"  columnFormat="dddd D/MM" firstHour="08" locale="fr" timeZone="GMT+1"  timeFormat="HH:mm" >
    <p:ajax event="eventSelect" listener="#{managedBean.onEventSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
</p:schedule>

在你的 managedBean 上,onEventSelect 方法如下:

public void onEventSelect(SelectEvent selectEvent) {
    event = (ScheduleEvent) selectEvent.getObject();
}

所以getObject() 将允许您检索诸如personeID 之类的信息,这取决于您是否在第一次使用event = new DefaultScheduleEvent() 创建事件时实际输入了personelID

要通过选择日程表上的日期来添加事件,请使用 p:ajaxdateSelect 事件:

<p:ajax event="dateSelect" listener="#{managedBean.onDateSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />

这将显示一个对话框,您可以将任何想要添加到事件中的信息,用户输入它,因此无需传递任何参数。

【讨论】:

  • 感谢您的回复,但我已经编辑了我的问题,以允许任何想帮助我理解它的人。谢谢!!
  • @SANDWIDI 我想这回答了你的问题
  • 我认为 eventSelect 假设您已经在您的日程中创建了一个事件。对于我的情况,我想在我的日程安排中创建新事件时将参数传递给我的 bean。谢谢。
  • 无论是已经创建的还是新建的时候都是一样的!!!
  • 你使用相同的表达式 new DefaultScheduleEvent(*****)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多