2

Web 開発、primefaces、stackoverflow は初めてです。ここでこのような一般的な質問をしてもよいかどうかさえわかりませんが、気が狂ってしまうので試してみようと思いました!!

そこで、Primefaces スケジュール コンポーネントを使用してスケジューラを開発しています。このスケジューラーは、データベースから毎日のイベントを読み取り、スケジューラーに表示します。もちろん、ユーザーは日付をクリックしてこれらのイベントを追加/編集/削除でき、ダイアログが開き、ユーザーはデータを操作します。

これはシフト スケジューラであるため、1 日あたりのシフト数は制限され、一貫しています (そして必須です)。たとえば、日常には

1) moderator (MM)
2) morning security guard (MSG)
3) afternoon security guard (ASG)
4) overnight security guard (NSG)

誰がこれらのシフトを取るかだけの問題です。それ以外の場合、これらのシフトは 2 日前に記入する必要があります。だから私がやりたいことは

1) DB からデータを読み取り、既に割り当てられているものをその日に入力します (簡単) 2) まだ割り当てられていない場合は、空のフィールドを表示します (データベースからではなく、表示のみのイベント)

そのような

Wednesday     Thursday        Friday    
MM  bob       MM  mike        MM    <empty>
MSG mike      MSG john        MSG   <empty>
ASG john      ASG <empty>     ASG   <empty>
NSG dave      NSG bob         NSG   <empty>

ここでは、既に割り当てられているものはすべてデータベースから読み取られますが、まだ割り当てられていないものを表示する方法がわかりません。それらはデータベースにないことに注意してください。ユーザーがクリックして自分に割り当てるまで、それらはビューにあるだけです。

提案、コードの平和、またはその他の助けをいただければ幸いです。(primefaces よりも) より良い選択を知っている場合でも、お気軽にお知らせください。

4

2 に答える 2

1

上記のRoelの提案を試してみて、うまくいきました。

schedulerModel = new LazyScheduleModel(){

  @override
  public void loadEvents(Date start, Date end){
     for(date=start;date<end;date++){//obv psudo
        if(iSinDataBase) 
             showDatainDB();
        else 
             addEvent(new scheduleEvent(title,date,date));
     }
  }

}
于 2013-02-06T05:39:50.087 に答える
1

私の提案は、データベースから値を取得してループさせることです。特定の日付の値が必要で、(データベースにないために)空の値を追加しない場合(Beanの変数に)または、Beanの空のエントリのリスト全体をインスタンス化することができます(コンストラクター)そしてデータベースから結果を取得するときは、それらをループしてから(空の1つを置き換えて)Bean変数に追加します。そうすれば、空のスポットと塗りつぶされたスポットのリストができあがります。これらの値をデータベースからどのように読み取りますか?リストですか?

于 2013-01-23T09:51:07.820 に答える