9

1 日に多くのイベントがあり、期待どおりに機能しますが、月のビューを見ると、カレンダー グリッドが予想よりもはるかに高くなっています。これらのイベントのいくつかを月ビューから非表示にしたいと思います。たとえば、この日に表示できるよりも多くのイベントがあるという視覚的なクエリの概要です。

eventRender を使用して false を返すことはできますが、特定の日にイベントがいくつあるかを知りたいので、レンダリングを約 4 に制限できます。その後、おそらく「もっと...」というイベントを追加します。

したがって、問題は次のようになります。特定の日付のイベントをカウントするにはどうすればよいでしょうか。

それとも、これは月ビューの最大カウンターを公開する機能要求のようなものですか?

ありがとう

4

7 に答える 7

4

FullCalendar 2.1.0 の時点で、この機能が含まれています。

$('#calendarBlock').fullCalendar({
    eventLimit: true
    [...]
});

デモ: http://arshaw.com/js/fullcalendar-2.1.0-beta2/demos/agenda-views.html

ドキュメント: http://fullcalendar.io/docs/display/eventLimit/

于 2015-05-14T19:02:54.463 に答える
2

私にも同様の要件があり、次のようなことを考えていました。

jsonフィードでは、毎日のイベントの数を含む特別なイベントを返します。

適切なフルカレンダーeventRenderコールバックを使用して、表示したくないイベントに対してeventRender()でfalseを返すことにより、ビューに応じてこれらの特別な合計カウントイベントのみを表示します。

私はまだこれを実装していませんが、おそらくそれは有効な手段である可能性があります。私が間違っている場合は私を訂正してください。

于 2010-07-30T20:24:31.360 に答える
1

現在不可能です。機能リクエストを参照してください: http://code.google.com/p/fullcalendar/issues/detail?id=304

于 2010-04-09T02:12:49.317 に答える
1

このバグのある (ほとんど放棄された) プラグインはまさにあなたが求めているもの。それをチェックして、自由に貢献してください。 警告:これはハックですが、fullcalendar 自体には多くの作業が必要な API があります。重要な部分のほとんどがクロージャに閉じ込められているため、拡張が非常に困難です。プラグインのソース コードを編集したい場合を除き、ハッカーなしでこれを達成する方法はありません。

そうは言っても、これはあなたが求めているものに最も近いものです: https://github.com/lyconic/fullcalendar/tree/view-more

于 2011-02-07T22:20:24.873 に答える
1

イベントの総数を取得するために多くの労力を費やす必要はありません。fullCalendar で合計イベントをカウントする簡単な方法があります。にeventAfterAllRender、次のように書きます。

eventAfterAllRender: function(view) {
                    var allevents = $('#calendar').fullCalendar('clientEvents');
                    var countevents = 0;
                    if( allevents.length ) {
                        countevents = countevents + allevents.length;
                    }
                    if(!countevents) {
                        // alert('event count is'+countevents);
                        console.log('event count is',countevents);
                    }
                }

-私のカレンダーはどこですかcalendar#

これが私のやり方です。ここから左折します。loading: function()しかし、fullCalendar でイベントの数を希望に応じて制限するために何かを試してみれば、それほど難しいことではないと確信しています。

でもありがとう。

于 2014-11-27T13:21:56.677 に答える
0

私はこのようなことをしました:

function(start, end, callback) {
                var viewName = $("#calendar").fullCalendar('getView');
                var startTime = Math.round(start.getTime() / 1000);
                var endTime = Math.round(end.getTime() / 1000);
                MyWebService.MyWebMethod.GetEventsByView(startTime, endTime, viewName.name,
                    function(args) {
                        callback(args);
                    },
                    function(error) {
                        var e = error;
                    }
                );
            }

このGetEventsByViewメソッドは、月ビューのグループ化されたセットと、アジェンダウィークおよび日ビューの詳細セットを返します。しかし、これが正しく機能するlazyFetching:falseためには、カレンダーを設定する必要がありました。

于 2010-09-28T18:21:56.590 に答える