2011-12-10 10 views
0

ユーザーが日付をクリックすると、その日付のagendaDayビューがレンダリングされるような機能が必要です。私は次のように試してみました:PrimeFaces v2.2.1のスケジュール:特定の日付に移動

<p:schedule id="timetable" widgetVar="mySchedule" editable="true" 
    allDaySlot="false" value="#{cc.attrs.managedBean.eventModel}" 
    dateSelectListener="#{mrBean.onDateSelect}" 
    onDateSelectUpdate="timetable" 
    initialDate="#{mrBean.initialDate}" 
    view="#{mrBean.view}"> 
</p:schedule> 

そして、これは私のManagedBeanです:私は日付をクリックしようとすると

@Named(value = "mrBean") 
@RequestScoped 
public class MrBean { 
    private ScheduleModel eventModel; 
    private String  view; 
    private Date   initialDate; 

    public MrBean() { 
     eventModel = new DefaultScheduleModel(); 
    } 

    public void onDateSelect(DateSelectEvent selectEvent) { 
     view  = "agendaDay"; 
     initialDate = selectEvent.getDate(); 
    } 

    // Getters and Setters 
} 

は、全体のカレンダーが消えたと私はブラウザ上でこの文字列{"events" : []}を見ました。

私が間違っていた箇所を誰かが見せてくれたら大変感謝しています。

敬具、これはうまくそれを合計

ジェームズ・トラン

答えて

0

http://forum.primefaces.org/viewtopic.php?f=3&t=1949

。これは最初の負荷に使用されますが、それを超えると機能しません。あなたがスケジュールのための新しいモデルを持っている3.0M4(より良いモデル)に見ることができるか、それが「widgetVar」を介して

http://www.planbox.com/blog/development/coding/full-calendar-jquery-widget-simply-awesome.html

上に構築されているFCカレンダーをオーバーライドするようにあなたは卑劣な何かを行うことができますので、属性特定のクリックを発射すると、ビューが切り替わります。正直言って、それはおそらくクライアント側で起こるだけでなく、おそらくより速く、すでにすべてのデータを持っています。

0

私はこれを試しました!私はスケジュールタグ内の属性view="agendaDay"によってのみ成功しました。そうでなければ、私たちによって与えられた日付が選択されたかどうかを正確に知ることはできません。