2015-09-14 5 views
1

Я пытаюсь сделать что-то похожее на то, что это должно быть относительно легко сделать, хотя я не могу найти никаких источников о том, как это сделать.Изменение ширины столбцов в планировщике

У меня есть элемент управления Kendo Scheduler, который отображается как DayView. Я просто пытаюсь изменить ширину столбцов. Вот снимок экрана:

enter image description here

Вот мой 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.

Как я могу уменьшить ширину столбцов?

+0

Уменьшает ширину всего планировщика? Ширина столбцов по умолчанию относительно ширины – chiapa

+0

@chiapa - я пробовал это. Это сделало управление планировщика меньше, но ширина столбцов была точно такой же. Я могу опубликовать снимок экрана, если вам нужно его увидеть. – Icemanind

+0

Это странно, и я хотел бы видеть это! Можете ли вы разместить свой шаблон шаблона события и соответствующий CSS, если таковой имеется? – chiapa

ответ

1

Я смог понять это. В случае, если кто-то имеет эту проблему, я использовал этот CSS код для изменения размера:

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

У меня есть метод, называемый GetNumberOfTechnicians(), который в основном возвращает количество столбцов в моем планировщике, то я умножая что к количество пикселей: каждый столбец должен быть (100 пикселей). Кажется, он работает хорошо со всеми моими испытаниями до сих пор!

 Смежные вопросы

  • Нет связанных вопросов^_^