使用来自服务器的数据填充 kendoScheduler 时间线

Populate kendoScheduler timeline with data from server

我在时间轴视图中使用 Kendo UI 调度程序,我需要用我的数据库中的数据填充左列。我正在努力了解如何去做。

我说的部分是演示中出现的地方:

resources: [{
    field: "roomId",
    name: "Rooms",
    dataSource: [{
        text: "Meeting Room 101",
        value: 1,
        color: "#6eb3fa"
    }, {
        text: "Meeting Room 201",
        value: 2,
        color: "#f58a8a"
    }],
    title: "Room"
}]

所以我不想说 "meeting Room 101",而是希望它从服务器加载数据,并且单元格的数量会有所不同,因此该列将是动态的。

这可能吗?有人能给我一个很好的解释吗?

我不知道您是否仍然对这个解决方案感兴趣,但它适用于 Google;)

您可以使用 Kendo 数据源:

var rooms = new kendo.data.DataSource({
    transport: {
        read: {
            url: "/get/rooms",
            dataType: "json" 
    }
}

然后只需分配数据源

resources: [
            {
                field: "roomId",
                name: "Room",
                dataSource: rooms,
                title: "Room"
            }

型号(示例):

public class RoomResourcesModel
{
    public string text { get; set; }
    public int value { get; set; }
    public string color { get; set; }
}

控制器(示例):

public ActionResult Rooms()
{
    var model = new List<RoomResourcesModel>();
    model.Add(new RoomResourcesModel { text = "Room 1", value = "1", color = "#CD6600" });
    model.Add(new RoomResourcesModel { text = "Room 2", value = "2", color = "#FF3030" });
    model.Add(new RoomResourcesModel { text = "Room 3", value = "3", color = "#FFD700" });

    return Json(model, JsonRequestBehavior.AllowGet);
}