完整日历事件垂直排序在月视图中较长的持续时间位于底部

时间:2015-01-05 17:25:19

标签: java javascript jquery postgresql fullcalendar

我正在尝试获取完整日历来对事件进行排序,以便单日事件到达堆栈顶部,并且多天事件到达堆栈的底部,它们仍然按开始时间排序。我想知道怎么做?

例如这个数据:

[{id: '1',title: '1',color:'*',url:'*',tip: '*',start: new Date(2015,0,6,6,0),end: new Date(2015,0,7,8,55)},

{id: '2',title: '2',color:'*',url:'*',tip: '*',start: new Date(2015,0,6,7,55),end: new Date(2015,0,7,10,50)}]

在此链接中:

http://stackoverflow.com/questions/8231902/jquery-fullcalendar-event-sorting 

它说这是不可能的,但我不同意,因为它声称它对持续时间有10倍的重要性,而我在实际的fullcalendar.js中找不到任何关于它的代码。

我已经尝试过sql排序,但每次脚本调整并将较长的持续时间放在我无法找到的某些函数的顶部。

任何帮助或暗示非常感谢。提前谢谢。

1 个答案:

答案 0 :(得分:0)

这样的东西?

=> SELECT * FROM calsort ORDER BY id;
 id |         starts         |          ends          
----+------------------------+------------------------
  1 | 2015-01-05 16:47:43+00 | 2015-01-05 17:47:43+00
  2 | 2015-01-03 16:48:57+00 | 2015-01-04 16:48:57+00
  3 | 2015-01-03 14:48:44+00 | 2015-01-04 15:48:44+00
  4 | 2015-01-05 14:48:05+00 | 2015-01-05 16:48:05+00
(4 rows)

=> SELECT * FROM calsort ORDER BY (CASE WHEN date(ends)=date(starts) THEN 1 ELSE 2 END), starts, id;
 id |         starts         |          ends          
----+------------------------+------------------------
  4 | 2015-01-05 14:48:05+00 | 2015-01-05 16:48:05+00
  1 | 2015-01-05 16:47:43+00 | 2015-01-05 17:47:43+00
  3 | 2015-01-03 14:48:44+00 | 2015-01-04 15:48:44+00
  2 | 2015-01-03 16:48:57+00 | 2015-01-04 16:48:57+00
(4 rows)