DHTMLX Scheduler Month View only 事件计数

DHTMLX Scheduler Month View only event count

1) 在月视图中,事件是可见的,而不是那些我只想显示计数的事件。如何在 DHTMLX Scheduler JS 版本中实现这一点。

2) 在月视图中启用日期区域点击事件,而不是指向日或周视图的 event_link。当在月视图中单击日期框时只需要一个事件我必须仅在单击时加载当天的事件。

  1. 可以用scheduler.addMarkedTimespan()的方法来实现。您需要迭代一个月中的所有日期,按 scheduler.getEvents() 计算每一天的事件,然后在 addMarkedTimespan.

    html 参数中指定结果
    function addEvCount(){
        var startDate = scheduler.getState().min_date;
        var endMonthDate = scheduler.getState().max_date;
        while(startDate.getTime() < endMonthDate.getTime()){
            var endDayDate = scheduler.date.add(startDate, 1, 'day');
            var evs = scheduler.getEvents(startDate, endDayDate);
            if(evs.length){
                scheduler.addMarkedTimespan({
                    start_date: startDate,
                    end_date: endDayDate,
                    html:"<div style='text-align:center;'><b>"+evs.length+"</b></div>",
                    css: "color"
                });
            }
            startDate = endDayDate;
        }
        scheduler.updateView();
    }
    

请检查它在 snippet 中的工作原理。

要隐藏所有事件,请同时使用过滤事件。

 scheduler.filter_month = function(id, event){
       return false; // event will not be rendered
 }

updated demo 仅包含数字且未呈现事件。

相关文档:addMarkedTimespan(), getEvents(), Filtering.

  1. onEmptyClick event which fires when the user clicks on an empty space in the scheduler (not on events). Demo.