jquery - 填充 Kendo Read 数据源

标签 jquery asp.net-mvc kendo-ui kendo-scheduler

我无法让我的调度程序填充从外部函数提取的数据。这是剑道用户界面。我无法让我的日历显示从数据库中提取的任何约会。有人有什么想法吗?谢谢

 $(function () {
        $("#scheduler").kendoScheduler({
            date: new Date("2013/6/13"),
            startTime: new Date("2013/6/13 07:00 AM"),
            height: 600,
            views: [
            "day",
                { type: "week", selected: true },
                "month",
                "agenda"
            ],
            timezone: "Etc/UTC",
            dataSource: {
                batch: true,
                transport: {
                    read: {
                        url: "/Team/Calendar/PopulateCalendar/",
                        dataType: "json",

                    },
                    update: {
                        url: "http://demos.kendoui.com/service/tasks/update",
                        dataType: "jsonp"
                    },
                    create: {
                        url: "http://demos.kendoui.com/service/tasks/create",
                        dataType: "jsonp"
                    },
                    destroy: {
                        url: "http://demos.kendoui.com/service/tasks/destroy",
                        dataType: "jsonp"
                    },
                    parameterMap: function (options, operation) {
                        if (operation !== "read" && options.models) {
                            return { models: kendo.stringify(options.models) };
                        }
                    }
                },
                schema: {
                    model: {

                        id: "taskId",
                        fields: {
                            taskId: { from: "TaskID", type: "number" },
                            title: { from: "Title", defaultValue: "No title", validation: { required: true } },
                            start: { type: "date", from: "Start" },
                            end: { type: "date", from: "End" },
                            startTimezone: { from: "StartTimezone" },
                            endTimezone: { from: "EndTimezone" },
                            description: { from: "Description" },
                            recurrenceId: { from: "RecurrenceID" },
                            recurrenceRule: { from: "RecurrenceRule" },
                            recurrenceException: { from: "RecurrenceException" },
                            ownerId: { from: "OwnerID", defaultValue: 1 },
                            isAllDay: { type: "boolean", from: "IsAllDay" }

                        }
                    }

                },
                filter: {
                    logic: "or",
                    filters: [
                        { field: "ownerId", operator: "eq", value: 1 },
                        { field: "ownerId", operator: "eq", value: 2 }
                    ]
                }
            },
            resources: [
                {
                    field: "ownerId",
                    title: "Owner",
                    dataSource: [
                        { text: "Alex", value: 1, color: "#f8a398" },
                        { text: "Bob", value: 2, color: "#51a0ed" },
                        { text: "Charlie", value: 3, color: "#56ca85" }
                    ]
                }
            ]
        });

        $("#people :checkbox").change(function (e) {
            var checked = $.map($("#people :checked"), function (checkbox) {
                return parseInt($(checkbox).val());
            });

            var filter = {
                logic: "or",
                filters: $.map(checked, function (value) {
                    return {
                        operator: "eq",
                        field: "ownerId",
                        value: value
                    };
                })
            };

            var scheduler = $("#scheduler").data("kendoScheduler");

            scheduler.dataSource.filter(filter);
        });
    });

这是从中提取数据的函数。

   public ActionResult PopulateCalendar()
        {
            using (var entities = new OpenRoad.Data.Repository.OpenRoadEntities())
            {
                var appointments = (from e in entities.Appointments
                                    where e.UserId == OpenRoad.Web.Session.UserId

                                    select new Models.Calendar
                                    {
                                        TaskID = e.AppointmentId,
                                        UserId = e.UserId ?? '1',
                                        Title = e.Subject,
                                        Description=e.Description,
                                        Start = e.StartTimeUtc ?? DateTime.Now,
                                        End = e.EndTimeUtc ?? DateTime.Now,
                                        IsAllDay = false,
                                        RecurrenceRule= null,
                                        RecurrenceID=null,
                                        RecurrenceException=null,
                                        StartTimezone=null,
                                        EndTimezone=null,

                                    }).OrderBy(o => o.Start).ToList();

                return Json(appointments, JsonRequestBehavior.AllowGet);
            }             
        }

最佳答案

尝试用第一个小写字母定义服务器上的所有属性;)作为第二步,您可以删除“schema: { model: {” block ,因为它是假的...:-D

关于jquery - 填充 Kendo Read 数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18104253/

相关文章:

jquery - 我想在 Ajax 请求后显示 Jquery UI 对话框(消息)

c# - 将路由传递给 Controller ​​操作

javascript - Div在asp.net中显示无/隐藏javascript函数

c# - Kendo Grid DataSourceRequest ArgumentException 试图排序

javascript - 在剑道网格中保存空字段

php - 无法使用jquery和ajax删除多个用户(codeigniter 3)

javascript - 使用 JQuery 从文本框中删除不需要的字符

jquery - 将 jQuery 文件上传与 Rails 结合使用

c# - Web Api 和版本 Controller 中的版本路由

javascript - 将网格内的 DropdownList 值传递给网格本身