0

嗨,我正在使用带有 mvc razor 的 dhtmlx 调度程序。

我已经创建了单位选项卡。但我不知道如何在不同的单位之间划分事件。这是我的示例代码。

Scheduler.InitialDate = DateTime.Now.Date;// the initial data of Scheduler   
       var unit = new UnitsView("Employee", "EmpID");//initializes the view
       var rooms = new List<object>(){
            new { key = "1", label = "Employee1"},
            new { key = "2", label = "Employee2"},
            new { key = "3", label = "Employee3"},
            new { key = "4", label = "Employee4"}
              };
          unit.AddOptions(rooms);

        Scheduler.Views.Add(unit);

我需要从数据库中添加标签,我通过存储过程获取 ID 和显示名称,请帮助我在调度程序单元视图中显示它。我首先在 mvc3 razor 中使用实体数据库

更新:

 var unit = new UnitsView("units", "resourcename");
            scheduler.Views.Add(unit);
              List<GetResourceOrderDisplay_Result> resourcedisplayname = new List<GetResourceOrderDisplay_Result>();
              resourcedisplayname = _scheduler.Getresorderdisplay();
            DashboardViewModel objDashboardViewModel = new DashboardViewModel();
             var options = new List<object>();
          //how to add key and label from the result i'm getting from resourcedisplayname?

            unit.AddOptions(options);

>

 public partial class GetResourceOrderDisplay_Result
    {
        public int ID { get; set; }
        public string DisplayName { get; set; }
    }

模型:

public class DashboardViewModel
    {


        //scheduler unitsview
        public int ID { get; set; }
        public string DisplayName { get; set; }
    }

这是我从存储过程中获取 Id 和显示名称的地方

 public List<GetResourceOrderDisplay_Result> Getresorderdisplay()
        {
            List<GetResourceOrderDisplay_Result> oGetresorderdisplay = new List<GetResourceOrderDisplay_Result>();

            oGetresorderdisplay = dbContext.GetResourceOrderDisplay().ToList();

            return oGetresorderdisplay.ToList();
        }
4

1 回答 1

1

但我不知道如何在不同的单位之间划分事件

单位视图构造函数的第二个参数指定保存关系的数据项的属性。在您的代码中

var unit = new UnitsView("Employee", "EmpID");//initializes the view
var rooms = new List<object>(){
    new { key = "1", label = "Employee1"},
    new { key = "2", label = "Employee2"},
    new { key = "3", label = "Employee3"},
    new { key = "4", label = "Employee4"}
};

调度程序将检查事件的 eventObj.EmpID 属性的值,并将事件放置在具有相同“键”属性值的列中。EventObj.EmpID == "2" 的事件将被放置在第二列中。

我需要从数据库中添加标签,

UnitsView 有一个公共的 Label 属性

var unit = new UnitsView("Employee", "EmpID");
unit.Label = "label";

更新

如果您使用具有不同属性的模型类,您仍然可以使用 IEnumerable.Select 收集单位视图的值:

var unit = new UnitsView("Employee", "EmpID");

List<GetResourceOrderDisplay_Result> resourcedisplayname = new List<GetResourceOrderDisplay_Result>();
resourcedisplayname = _scheduler.Getresorderdisplay();

unit.AddOptions(resourcedisplayname.Select(u => new {key=u.ID, label=u.DisplayName}));
于 2013-09-04T13:36:13.067 回答