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

时间:2015-02-19 17:51:46

标签: kendo-ui kendo-grid kendo-treeview kendo-dataviz

我正在使用带有时间线视图的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"
}]

因此,我没有说“会议室101”,而是希望它从服务器加载数据,并且单元格的数量会有所不同,因此该列将是动态的。

这可能吗?有人能指出我如何做到这一点的好解释吗?

1 个答案:

答案 0 :(得分:1)

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

您可以使用Kendo DataSource:

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);
}