2013-10-22 59 views
0

我使用下面的代码示例从customMicrosoft Dynamics CRM 2011实体中生成定期约会。此预约仅用于显示目的,不会存储在任何地方。它只是用来显示某个员工何时需要按照他的周计划工作。Telerik Radscheduler定期约会只显示第一个约会

string vmstartuur = weekkalender.GetAttributeValue<OptionSetValue>("acm_" + weekdag + "vmstartuur").Value.ToString(dutchCultureInfo); 
string vmstartminuut = weekkalender.GetAttributeValue<OptionSetValue>("acm_" + weekdag + "vmstartminuut").Value.ToString(dutchCultureInfo); 
string vmeinduur = weekkalender.GetAttributeValue<OptionSetValue>("acm_" + weekdag + "vmeinduur").Value.ToString(dutchCultureInfo); 
string vmeindminuut = weekkalender.GetAttributeValue<OptionSetValue>("acm_" + weekdag + "vmeindminuut").Value.ToString(dutchCultureInfo); 
DateTime vmstartDateTime = new DateTime(nextDateTime.Year, nextDateTime.Month, nextDateTime.Day, Convert.ToInt32(vmstartuur.Substring(Math.Max(0, vmstartuur.Length - 2))), Convert.ToInt32(vmstartminuut.Substring(Math.Max(0, vmstartminuut.Length - 2))), 0, DateTimeKind.Local); 
DateTime vmendDateTime = new DateTime(nextDateTime.Year, nextDateTime.Month, nextDateTime.Day, Convert.ToInt32(vmeinduur.Substring(Math.Max(0, vmeinduur.Length - 2))), Convert.ToInt32(vmeindminuut.Substring(Math.Max(0, vmeindminuut.Length - 2))), 0, DateTimeKind.Local); 
Telerik.Web.UI.Appointment vmrecurringAppointment = new Telerik.Web.UI.Appointment {Subject = weekdag + " voormiddag", ID= weekkalender.acm_werknemer.Name + weekdag + "_voormiddag", Start = vmstartDateTime, End = vmendDateTime}; 
RecurrenceRange vmrange = new RecurrenceRange {Start = vmrecurringAppointment.Start, EventDuration = vmrecurringAppointment.End - vmrecurringAppointment.Start, RecursUntil = contract.slfn_Eindeovereenkomst.GetValueOrDefault(DateTime.MaxValue), MaxOccurrences = Int32.MaxValue}; 
WeeklyRecurrenceRule vmWeeklyRecurrenceRule = new WeeklyRecurrenceRule(1, GetRecurrenceDay(dayOfWeek), vmrange); 
vmrecurringAppointment.RecurrenceRule = vmWeeklyRecurrenceRule.ToString(); 
vmrecurringAppointment.RecurrenceState = RecurrenceState.Master; 
appointmentList.Add(vmrecurringAppointment); 

我生成的任何地方从2到14次定期约会,每天2。然后我使用RadScheduler.DataSourceappointmentList绑定到RadScheduler。

约会已创建,但问题是他们不会重复发生。第一次约会确实出现在需要的时候,即在他的就业开始的那一天,但他们不再重复。我跟着Telerik指南重复约会http://www.telerik.com/help/aspnet-ajax/scheduler-working-with-recurring-appointments.htmlhttp://dotnetslackers.com/articles/aspnet/Using-Teleriks-Scheduler-Component.aspx,但我不明白为什么它不会再发生。

回答

0

我的一位同事帮助了我。原因是RadScheduler本身有两个触发重复的字段:DataRecurrenceField="RecurrenceRule" DataRecurrenceParentKeyField="RecurrenceParentID"。所以我的约会发电机代码很好。