Kendo ui KendoUI调度程序不';t显示数据

Kendo ui KendoUI调度程序不';t显示数据,kendo-ui,datasource,kendo-scheduler,Kendo Ui,Datasource,Kendo Scheduler,我对KendoUI调度程序数据(调度程序事件或任何你想称之为它们的事件)的显示有点困难。当数据进入时进行呼叫,但不会显示,也不会导致任何错误。我粘贴了代码并进行了响应,希望有人知道我做错了什么 是的,我一直在json/jsonp之间切换,作为数据类型,批处理在所有可能的组合中都设置为true和false 代码: var my_dataSource; $("#calendar").kendoScheduler({ height: "650px", ti

我对KendoUI调度程序数据(调度程序事件或任何你想称之为它们的事件)的显示有点困难。当数据进入时进行呼叫,但不会显示,也不会导致任何错误。我粘贴了代码并进行了响应,希望有人知道我做错了什么

是的,我一直在json/jsonp之间切换,作为数据类型,批处理在所有可能的组合中都设置为true和false

代码:

  var my_dataSource;

    $("#calendar").kendoScheduler({
        height: "650px",
        timezone: "Etc/UTC",
        views: [
            "day",
            "week",
            { type: "month", selected: true },
            "agenda"
        ]
    });

    my_dataSource = new kendo.data.SchedulerDataSource({
        transport: {
            read: {
                url: "ashx/Calendar/GetCalendarData.ashx",
                cache: false,
                data: {
                    dtFrom: convertDate($("#calendar").data("kendoScheduler").view().startDate()),
                    dtUntil: convertDate($("#calendar").data("kendoScheduler").view().endDate()),
                    DateInterval: "month",
                    dateIntervalSteps: "1",
                    Categories: ""
                },
                dataType: "jsonp"
            },
            batch: true,
            parameterMap: function (options, operation) {
                //console.log(JSON.stringify(options));
                return options;
            }
        },
        schema: {
            data: "Data",
            model: {
                id: "taskID",
                fields: {
                    taskID: { from: "id", type: "number" },
                    title: { from: "summary", defaultValue: "No title", validation: { required: false } },
                    start: { type: "date", from: "startTime" },
                    end: { type: "date", from: "endTime" },
                    //startTimezone: { from: "StartTimezone" },
                    //endTimezone: { from: "EndTimezone" },
                    //description: { from: "Description" },
                    //recurrenceId: { from: "RecurrenceID" },
                    //recurrenceRule: { from: "RecurrenceRule" },
                    //recurrenceException: { from: "RecurrenceException" },
                    ownerId: { from: "eOwnerId", defaultValue: 1 },
                    isAllDay: { type: "boolean", from: "allDay" }
                }
            }
        }
    });

    var cal = $("#calendar").data("kendoScheduler");
    cal.dataSource = my_dataSource;
[
{
"id": 329837,
"summary": "Lorem Ipsum",
"startTime": "Date(1375862400)",
"endTime": "Date(1377273600)",
"allDay": true,
"calendar": "cat10001",
"eOwnerId": 1569,
"Title": "Project Meeting"
},
{
"id": 334664,
"summary": "Lorem Ipsum",
"startTime": "Date(1376985600)",
"endTime": "Date(1376989200)",
"allDay": false,
"calendar": "cat10002",
"eOwnerId": 130,
"Title": "Meeting"
},
{
"id": 334659,
"summary": "Lorem Ipsum",
"startTime": "Date(1377007200)",
"endTime": "Date(1377010800)",
"allDay": false,
"calendar": "cat10003",
"eOwnerId": 1810,
"Title": "Task"
}
]
响应:

  var my_dataSource;

    $("#calendar").kendoScheduler({
        height: "650px",
        timezone: "Etc/UTC",
        views: [
            "day",
            "week",
            { type: "month", selected: true },
            "agenda"
        ]
    });

    my_dataSource = new kendo.data.SchedulerDataSource({
        transport: {
            read: {
                url: "ashx/Calendar/GetCalendarData.ashx",
                cache: false,
                data: {
                    dtFrom: convertDate($("#calendar").data("kendoScheduler").view().startDate()),
                    dtUntil: convertDate($("#calendar").data("kendoScheduler").view().endDate()),
                    DateInterval: "month",
                    dateIntervalSteps: "1",
                    Categories: ""
                },
                dataType: "jsonp"
            },
            batch: true,
            parameterMap: function (options, operation) {
                //console.log(JSON.stringify(options));
                return options;
            }
        },
        schema: {
            data: "Data",
            model: {
                id: "taskID",
                fields: {
                    taskID: { from: "id", type: "number" },
                    title: { from: "summary", defaultValue: "No title", validation: { required: false } },
                    start: { type: "date", from: "startTime" },
                    end: { type: "date", from: "endTime" },
                    //startTimezone: { from: "StartTimezone" },
                    //endTimezone: { from: "EndTimezone" },
                    //description: { from: "Description" },
                    //recurrenceId: { from: "RecurrenceID" },
                    //recurrenceRule: { from: "RecurrenceRule" },
                    //recurrenceException: { from: "RecurrenceException" },
                    ownerId: { from: "eOwnerId", defaultValue: 1 },
                    isAllDay: { type: "boolean", from: "allDay" }
                }
            }
        }
    });

    var cal = $("#calendar").data("kendoScheduler");
    cal.dataSource = my_dataSource;
[
{
"id": 329837,
"summary": "Lorem Ipsum",
"startTime": "Date(1375862400)",
"endTime": "Date(1377273600)",
"allDay": true,
"calendar": "cat10001",
"eOwnerId": 1569,
"Title": "Project Meeting"
},
{
"id": 334664,
"summary": "Lorem Ipsum",
"startTime": "Date(1376985600)",
"endTime": "Date(1376989200)",
"allDay": false,
"calendar": "cat10002",
"eOwnerId": 130,
"Title": "Meeting"
},
{
"id": 334659,
"summary": "Lorem Ipsum",
"startTime": "Date(1377007200)",
"endTime": "Date(1377010800)",
"allDay": false,
"calendar": "cat10003",
"eOwnerId": 1810,
"Title": "Task"
}
]
我在使用Firefox调试时看到“ReferenceError:convertDate未定义”

dtFrom:convertDate($(“#日历”).data(“kendoScheduler”).view().startDate()), dtUntil:convertDate($(“#日历”).data(“kendoScheduler”).view().endDate())


您可能需要确保包含所有适当的.js文件

我遇到了相同的问题,但没有出现错误。修复它的是(愚蠢的,但是)我正在设置开始和结束时区,即task.setEndTimezone(TimeZone.getTimeZone(“UTC”);,只要在返回的任务开始和结束日期时间中仍设置了时区时将其设置为null即可。希望这有帮助。

这只是一个简单的函数,可以将日期转换为适当的格式,以便服务返回我需要的内容<代码>函数convertDate(inputFormat){var d=new Date(inputFormat | | | Date.now()),month=''+(d.getMonth()+1),day=''+d.getDate(),year=d.getFullYear();if(month.length<2)month='0'+month;if(day.length<2)day='0'+day;console.log([year,month,day].join('-');return[year,month,day].join('-');}完全忘记发布解决方案,但我使用了非常类似的方法来解决问题,因此我接受您的建议作为有效答案:)感谢您的贡献。