Dear Dess,
Thanks you for reply. I know my product is out of date ready and want to upgrade. But ...
I added timeline tab at my schedule as per your suggestion. That's pretty good idea. But i have another issue on timeline. My program is crash after switch back timeline to day view or month view. I notice if i set the fixed AppointmentHeight it keep cash. I can't see details if i didn't set hight. :(
void rScheduler_ActiveViewChanged(object sender, SchedulerViewChangedEventArgs e)
{
if (e.OldView.ViewType != e.NewView.ViewType)
{
switch (e.NewView.ViewType)
{
case SchedulerViewType.Month:
rScheduler.GroupType = GroupType.Resource;
rScheduler.GetMonthView().WeekCount = 5;
break;
case SchedulerViewType.Day:
rScheduler.GroupType = GroupType.Resource;
rScheduler.GetDayView().DayCount = 1;
rScheduler.ActiveView.StartDate = DateTime.Today;
UpdateWorkTime();
ScrollToWorkTime();
break;
case SchedulerViewType.Timeline:
rScheduler.GroupType = GroupType.None; //i set none. no need to do by group.
break;
}
}
if (e.OldView.ViewType == SchedulerViewType.Month && e.NewView.ViewType == SchedulerViewType.Week)
{
_blnIsSwitchedMonthToWeek = true;
}
InvalidateScheduler();
}
void InvalidateScheduler()
{
SchedulerDayViewGroupedByResourceElement _SchedulerDayViewGroupedByResourceElement = rScheduler.SchedulerElement.ViewElement as SchedulerDayViewGroupedByResourceElement;
SchedulerMonthViewGroupedByResourceElement _SchedulerMonthViewGroupedByResourceElement = rScheduler.SchedulerElement.ViewElement as SchedulerMonthViewGroupedByResourceElement;
TimelineGroupingByResourcesElement _TimelineGroupingByResourcesElement = rScheduler.SchedulerElement.ViewElement as TimelineGroupingByResourcesElement;
SchedulerTimelineViewElement _SchedulerTimelineViewElement = rScheduler.SchedulerElement.ViewElement as SchedulerTimelineViewElement;
if (_SchedulerDayViewGroupedByResourceElement == null && _SchedulerMonthViewGroupedByResourceElement == null && _TimelineGroupingByResourcesElement == null &&
_SchedulerTimelineViewElement == null)
return;
int headerHeight = 50;
int headerwidth = 150;
if (_SchedulerDayViewGroupedByResourceElement != null)
{
_SchedulerDayViewGroupedByResourceElement.ResourceHeaderHeight = headerHeight;
_SchedulerDayViewGroupedByResourceElement.InvalidateMeasure(true);
}
else if (_SchedulerMonthViewGroupedByResourceElement != null)
{
_SchedulerMonthViewGroupedByResourceElement.ResourceHeaderHeight = headerHeight;
}
else if (_TimelineGroupingByResourcesElement != null)
{
_TimelineGroupingByResourcesElement.ResourceHeaderWidth = headerwidth;
}
else if (_SchedulerTimelineViewElement != null)
{
_SchedulerTimelineViewElement.AppointmentHeight = 100; //set hight keep crach the program
}
rScheduler.PerformLayout();
}
Otherwise can i set Width and height at time line view?