2010-12-27 31 views
0

カレンダーを設定しています。月表示を表示しているときに、開始予定時刻ではなくIDで作成されたイベントを表示します。FullCalendarでのイベントの表示開始タイムスタンプの代わりにイベントID順に表示

これは可能ですか?もしそうなら、このようにイベントを表示するコードを変更するにはどうすればいいですか?

+1

たとえば、テーブル構造などが必要です。 - )...サンプルデータ – thedom

答えて

0

ORDER BY id ASCをクエリに追加します。

+0

ありがとう、私はそれを試してみましょう。 – Galalad

+0

fullcalenderプラグインは、 "照会出力"がどのような順序であっても、デフォルトで_idでソートされるため、これは機能しません – Miguel

0

最後のポストから長い時間が、念のために誰かが(私のように)それを必要とする:

function segCmp(a, b) { 
    var tryCmp = (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start); 
    if (tryCmp == 0) 
     return (a.event.id - b.event.id); 
    return tryCmp; 
} 
にfullcalendar.js

function segCmp(a, b) { 
    return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start); 
} 

変更

それは私のために働いた

1

素晴らしいソリューション! 私はそれを使用し、私のニーズに適応させました。私はJSONフィードを使用しています。

重要:最初の条件は、すべてのイベントが開始日でソートされていることを確認することです。その後

、あなたはタイトルでソートする場合:

function segCmp(a, b) { 
    var tryCmp = (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start); 
    if (tryCmp == 0) { 
      return (a.event.title.toLowerCase() >= b.event.title.toLowerCase()) ? 1: 0; 
    } 
    return tryCmp; 
} 

私はそれを別の方法をも使用しました。 「colOrder」というJSONフィードの各イベントにカスタム属性を追加しました(何でも構いません)、整数値(1,2,3 ...)を与えました。 1は最初のイベント、2は2番目のイベントです。

次に、colOrder属性を使用してイベントをソートするようにカスタマイズしました。

function segCmp(a, b) { 
    var tryCmp = (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start); 
    if (tryCmp == 0) { 
    if (!isNaN(a.event.colOrder) && !isNaN(b.event.colOrder)) 
      return (a.event.colOrder - b.event.colOrder); 
    } 
    return tryCmp; 
} 
関連する問題