0

我正在开发一个 ASP.Net MVC(C# Razor 引擎)应用程序,我需要在给定的一天内安排工作人员执行任务。

我决定使用 Dhtmlx 调度程序(不幸的是,免费客户端版本),并且在为 y_unit 加载自定义数据时需要帮助。

var sections = [
            { key: 1, label: "James Smith" },
            { key: 2, label: "John Williams" },
            { key: 3, label: "David Miller" },
            { key: 4, label: "Linda Brown" }
        ];

        scheduler.createTimelineView({
            name: "timeline",
            x_unit: "minute",
            x_step: 30,
            x_start: 16,
            x_date: "%H:%i",
            x_size: 24,
            x_length: 48,
            y_unit: sections,                // Need to change this
            event_dy: 'full',
            y_property: "section_id",
            render: "bar"

这是我目前拥有的,而不是“部分”,我想将我的信息(工人 ID 和姓名)从我在控制器中链接的数据库中放在那里。

我将如何做到这一点?感谢您提前提供的所有帮助!

编辑:我的调度程序的 .Net 连接器

        public override IdhtmlxConnector CreateConnector(HttpContext context)
    {
        var connector = new dhtmlxSchedulerConnector(
           "Events",
           "EventID",
           dhtmlxDatabaseAdapterType.SqlServer2005,
              ConfigurationManager.ConnectionStrings["ServiceOptimization"].ConnectionString,
           "FromDate",
           "ToDate",
           "Subject as text, Details as details, Tags"
         );

        var optionsConnector = new dhtmlxOptionsConnector(
          "W6ENGINEERS",
          "ID",
          connector.Request.Adapter,
          "Name"
        );

        // get an error here, no such method for connector.
        connector.AddOptionsConnector("type", optionsConnector); 
        return connector;
    }

我不确定我是否在正确的轨道上,但我想检索工程师姓名和 ID。从这里我相信我必须使用 serverList 来建立连接。

但现在我收到 .AddOptionsConnector 错误。另外,我将如何将 OptionsConnector 添加到 serverList?

在 php 中,他们使用: $scheduler->set_options("sections", $list); C# 中的等价物是什么?

4

2 回答 2

1

有关从数据库添加自定义 y 轴值的说明,请参阅文档的这一部分:

http://docs.dhtmlx.com/scheduler/timeline_view.html#datafortheyaxissectionsfromtheserver

希望这是您正在寻找的东西,如果您需要任何进一步的帮助,请告诉我。

于 2014-06-24T06:58:26.303 回答
0

最后我想通了!

我从控制器创建了一个列表,并通过 JSON 将其发送到 Javascript。

控制器:

        var engList = new List<object>();
        foreach (var engineer in viewModel.engineers)
        {
            engList.Add(new { key = engineer.ID, label = engineer.Name });
        }
        ViewBag.engineers = engList;

调度程序脚本:

var engineers =  @Html.Raw(Json.Encode(ViewBag.engineers))
[...]
y_unit: engineers,

感谢 Skapie19 的帮助!

于 2014-06-27T15:20:39.983 回答