我设置了日历,在查看月视图时,我想显示由ID创建的事件,而不是他们应该开始的时间。
这可能吗?如果是这样,我将如何更改代码以这种方式显示事件?
答案 0 :(得分: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;
}
我也用另一种方式。 我已经为JSON提要的每个事件添加了一个名为'colOrder'的自定义属性(它可以是任何东西)并给它整数值(1,2,3 ...)。 1代表我想看的第一个事件,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;
}
答案 1 :(得分:0)
将ORDER BY id ASC
添加到您的查询中。
答案 2 :(得分:0)
还没有简单的方法可以做到这一点,但是当实现这个问题时,应该很容易: http://code.google.com/p/fullcalendar/issues/detail?id=364
答案 3 :(得分:0)
自上次发布以来很长时间,但万一有人需要它(像我一样):
更改fullcalendar.js
function segCmp(a, b) {
return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start);
}
到
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;
}
它对我有用