【问题标题】:Kendo Calender with appointment viewer带有约会查看器的剑道日历
【发布时间】:2013-04-16 07:34:47
【问题描述】:

您好,有什么方法可以在 Kendo 日历控件中显示所选日期的约会?

例如,如果我在 1 月 1 日有约会,我的日历应该会显示一条消息以及日期(在同一个剑道日历控件中)。剩下的日期只会是普通的样式。

【问题讨论】:

    标签: asp.net calendar kendo-asp.net-mvc


    【解决方案1】:

    您可以通过在声明日历时定义模板函数来在每个日期显示自定义内容。将为日历中显示的每个日期调用此函数。以下示例显示了如何执行此操作:

    // Define dates that have appointments
    var calDates = [];
    calDates[+new Date(2013, 0, 1)] = [{ Description: "Appointment foo", Time: "09:00"}];
    calDates[+new Date(2013, 0, 2)] = [{ Description: "Appointment bar", Time: "10:00" }, { Description: "Appointment baz", Time: "12:00"}];
    
    // Declare Kendo Calendar
    $("#div1").kendoCalendar({ "value": new Date(2013, 0, 1, 0, 0, 0, 0), "month": { "content": "#= BuildDateMarker(data) #"} });
    
    // Template function
    function BuildDateMarker(data) {
    
        // Get any appointments for this date       
        var appointments = calDates[+data.date];
    
        if (!appointments || appointments == 'undefined') {
            // No appointments for this date, so return default marker (day of the month)
            return data.date.getDate();
        }
    
        // Open marker
        var marker = '<div class="appointments" title="' + data.date + '">';
    
        // Add item for each of this date's appointments
        for (var i = 0; i < appointments.length; i++) {
            var appointment = appointments[i];
            marker += '<span class="appointment">' + appointment.Description + ', at ' + appointment.Time + '</span>';
        }
    
        // Close marker
        marker += '</div>';
    
        return marker;
    }
    

    【讨论】:

    • 您好,感谢您的回复。这正是我正在寻找的。还有一件事是有什么方法可以选择整个星期?还是一个月?我想在每周结束时显示该周的约会次数。剑道日历可以吗?
    • 如果该周或该月的任何日期有约会,您要选择整周或整月?
    • 例如我在 4 月 17 日和 4 月 19 日约会,然后我想在周末显示 2(可能再添加一行以显示周总数)
    • 还有一件事.. 我想从我的控制器而不是从这里传递约会数组。我们怎么能通过?
    • 这可能会变得很难看,但作为起点,“BuildDateMarker”需要找出所提供日期的周结束日期,并将该日期的约会总数添加到外部字典中键是周结束日期,其值是该周的约会次数。然后,当日历构建完成后,扫描字典并将包含每周约会数量的新 TD 添加到相应日历行的末尾。
    猜你喜欢
    • 2012-05-14
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多