This is a migrated thread and some comments may be shown as answers.

Timeline view - Row height for GroupHeaderTemplate

1 Answer 224 Views
Scheduler
This is a migrated thread and some comments may be shown as answers.
Mark
Top achievements
Rank 1
Mark asked on 17 Sep 2015, 07:37 PM

Hi,

 How can I set the row height for each row to match the height of the GroupHeaderTemplate?

I've attached a screen shot of the issue.

 Here is the scheduler configuration:

@(Html.Kendo().Scheduler<CalendarItemViewModel>()
                      .Name("scheduler")
                      .Date(Model.TimelineStart)
                      .StartTime(Model.TimelineStart)
                      .EndTime(Model.TimelineEnd)
                      .CurrentTimeMarker(false)
                      .MajorTick(1440)
                      .MinorTickCount(1)
                      .MajorTimeHeaderTemplate("")
                      .DateHeaderTemplate("<strong>#=kendo.toString(date, 'd')#</strong>")
                      .EventTemplate("<div class='eventItem' style='background-color:#=CalendarEntryTypeColor#;'>#=title#</div>")
                      .Views(views => views.TimelineMonthView(timeline =>
                      {
                          timeline.MajorTick(1440);
                          timeline.MinorTickCount(1);
                          timeline.StartTime(Model.TimelineStart);
                          timeline.EndTime(Model.TimelineEnd);
                          timeline.EventHeight(28);
                          timeline.ColumnWidth(20);
                          timeline.GroupHeaderTemplate("<div id='e#=value#' class='eventClassifier'>"
                                                       + "# if (value == 0) { #"
                                                       + "<br/><span class='active'>General</span><br/><br/>"
                                                       + "# } else { #"
                                                       + "<a class='active jslink' style='float:left;' onclick='viewEmployeeProfile(#=value#, \"#=text#\")'><span id='e#=value#FullName'>#=text#</span></a><br />"
                                                       + "<span class='grey'>Rounds Since Last Visit:</span> <span id='e#=value#NumRoundsSinceLastVisit'></span><br />"
                                                       + "<span class='grey'>Level:</span> <span id='e#=value#ClassifierLevelCode'></span>"
                                                       + "<span class='grey'>Home WU:</span> <span id='e#=value#IsHomeWorkArea'></span><br />"
                                                       + "<span class='grey'>Language:</span> <span id='e#=value#LanguageName'></span><br />"
                                                       + "<span class='grey'>OOP:</span> <span id='e#=value#NumOutOfProvince'></span><br />"
                                                       + "<span class='grey'>Coordinator:</span> <span id='e#=value#IsCoordinator'></span>"
                                                       + "#}# </div>");
                      }))
                      .Timezone(Model.TimeZoneString)
                      .Group(group => group.Resources("EmployeeId").Orientation(SchedulerGroupOrientation.Vertical))
                      .Resources(resource =>
                      {
                          resource.Add(m => m.EmployeeId)
                              .Title(Resources.Employee)
                              .DataTextField("FullName")
                              .DataValueField("EmployeeId")
                              .DataSource(source => source.Read(read => read.Action("GetJsonCalendarClassifiers", "Classification").Data("filterClassifiers"))
                                    .Events(ev => ev.Change("refreshScheduler")));

                          resource.Add(m => m.CalendarEntryTypeId)
                              .Title(Resources.Type)
                              .DataTextField("Description")
                              .DataValueField("CalendarEntryTypeId")
                              .DataColorField("Color")
                              .BindTo(Model.CalendarEntryTypes);

                          resource.Add(m => m.StatusId)
                              .Title(Resources.Status)
                              .DataTextField("Description")
                              .DataValueField("StatusId")
                              .DataSource(source => source.Read(read => read.Action("GetJsonCalendarStatuses", "Classification")));
                      })
                      .Events(events => events
                          .DataBinding("schedulerDataBinding")
                          .DataBound("schedulerDataBound")
                          .Edit("schedulerEdit")
                          .Save("schedulerSave")
                          .Navigate("schedulerDataBound")
                      )
                      .DataSource(d => d
                          .Model(m =>
                          {
                              m.Id(f => f.CalendarId);
                              m.Field(f => f.EmployeeId);
                              m.Field(f => f.CalendarEntryTypeId);
                              m.Field(f => f.CalendarEntryTypeCode);
                              m.Field(f => f.CalendarEntryGroup);
                              m.Field(f => f.StartTimezone).DefaultValue(Model.TimeZoneString);
                              m.Field(f => f.EndTimezone).DefaultValue(Model.TimeZoneString);
                              m.Field(f => f.Title).DefaultValue("");
                              m.Field(f => f.StatusId).DefaultValue(Constants.DefaultCalendarStatusId);
                              m.Field(f => f.WorkAreaRoundId).DefaultValue(Model.CurrentWorkAreaRound != null ? Model.CurrentWorkAreaRound.WorkAreaRoundId : 0);
                              m.Field(f => f.ClassificationWorkAreaId).DefaultValue(Model.SelectedClassificationWorkAreaId);
                              m.Field(f => f.Timezone).DefaultValue(Model.TimeZoneString);
                              m.RecurrenceId(f => f.RecurrenceId);
                              m.Field(f => f.IsAllDay).DefaultValue(true);
                          })
                          .Read("GetClassificationSchedule", "Classification", new { workAreaRoundId = Model.CurrentWorkAreaRound != null ? Model.CurrentWorkAreaRound.WorkAreaRoundId : 0, workAreaId = Model.SelectedClassificationWorkAreaId })
                          .Create("SaveClassificationScheduleItem", "Classification")
                          .Destroy("DeleteClassificationScheduleItem", "Classification")
                          .Update("SaveClassificationScheduleItem", "Classification")
                                  .Events(e => e.Error("schedulerError"))
                      )
            )

 Thanks!

1 Answer, 1 is accepted

Sort by
0
Petyo
Telerik team
answered on 21 Sep 2015, 03:37 PM

Hello Mark,

 

there are no means to dynamically control each row height. Your best bet in that case would be to set the EventHeight configuration option to a value large enough to accommodate the height of the largest header. 

 

Regards,
Petyo
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
Tags
Scheduler
Asked by
Mark
Top achievements
Rank 1
Answers by
Petyo
Telerik team
Share this question
or