在调度程序上更改列宽

Changing column widths on a scheduler

我正在尝试做一些看起来应该相对容易做的事情,尽管我找不到任何关于如何做的资源。

我有一个呈现为 DayView 的 Kendo Scheduler 控件。我只是想改变列的宽度。这是屏幕截图:

这是我的 MVC 视图代码:

<div>
    @(Html.Kendo().Scheduler<TechScheduler.Infrastructure.ViewModels.ScheduleEventModel>()
    .Name("scheduler")
    .Editable(true)
    .Date(DateTime.Now)
    .StartTime(new DateTime(DateTime.Now.AddYears(-1).Year, DateTime.Now.AddYears(-1).Month, DateTime.Now.AddYears(-1).Day, 0, 0, 0))
    .EndTime(new DateTime(DateTime.Now.AddYears(1).Year, DateTime.Now.AddYears(1).Month, DateTime.Now.AddYears(1).Day, 23, 59, 59))
    .WorkDayStart(new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0))
    .WorkDayEnd(new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 0))
    .WorkWeekStart(0)
    .WorkWeekEnd(7)
    .MajorTick(60)
    .Height(600)                
    .Timezone("Etc/UTC")
    .Events(e =>
    {
        e.ResizeEnd("scheduler_resizeEnd");
        e.DataBound("scheduler_dataBound");
        e.Edit("scheduler_edit");
    })
    .Views(views =>
    {
        views.DayView(z =>
        {
            z.StartTime(new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0));
            //z.EndTime(new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59));
            z.MajorTick(60);
            z.ShowWorkHours(false);
            z.Footer(false);
            z.EventTemplateId("evenTemplate");
        });            
    })
    .Group(group => group.Resources("Attendees").Orientation(SchedulerGroupOrientation.Horizontal))
    .Resources(resource =>
    {
        resource.Add(m => m.Attendees)
            .Title("Attendees")
            .Name("Attendees")
            .Multiple(true)
            .DataTextField("TechnicianName")
            .DataValueField("TechnicianId")
            .DataColorField("Color")
            .DataSource(ds => ds.Read("GetTechnicians", "Ajax"));
    })
    .DataSource(d => d.Model(m =>
            {
                m.Id(f => f.MeetingID);
                m.RecurrenceId(f => f.RecurrenceID);
                m.Field(f => f.Title).DefaultValue("No title");
            })
            .Read("GetSchedule", "Ajax")
    )
    )
</div>

有一个 ColumnWidth 属性,但它在 属性 正下方的注释中说它仅在 TimeLine 视图中受支持。

如何缩小列宽?

我想通了。如果其他人遇到此问题,我使用此 CSS 代码更改大小:

.k-scheduler-content .k-scheduler-table,
.k-scheduler-header .k-scheduler-table {
    width: @(TechScheduler.Infrastructure.Technicians.GetNumberOfTechnicians() * 100)px;
}

我有一个名为 GetNumberOfTechnicians() 的方法,它基本上 returns 我的调度程序中的列数,然后我将其乘以我希望每列的像素数 (100px) .到目前为止,它似乎适用于我所有的测试!