Telerik Radscheduler повторяющиеся встречи показывает только первую встречу

Я использую приведенный ниже пример кода для создания повторяющейся встречи из настраиваемой сущности Microsoft Dynamics CRM 2011. Это назначение только для демонстрации, оно нигде не хранится. Он просто используется, чтобы показать, когда определенному сотруднику придется работать в соответствии с его недельным графиком.

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.DataSource связывать appointmentList в RadScheduler.

назначения созданы, но проблема в том, что они не повторяются. Первое назначение появляется тогда, когда это необходимо, то есть в день начала его работы, но они не повторяются. Я следовал инструкциям Telerik для повторяющихся встреч на http://www.telerik.com/help/aspnet-ajax/scheduler-working-with-recurring-appointments.html и на http://dotnetslackers.com/articles/aspnet/Using-Teleriks-Scheduler-Component.aspx, но я не могу понять, почему это не повторяется.

1 ответ

Решение

Один из моих коллег помог мне с этим. Оказывается, в самом RadScheduler есть 2 поля, которые вызывают повторение: DataRecurrenceField="RecurrenceRule" DataRecurrenceParentKeyField="RecurrenceParentID", так что мой код генератора назначения был в порядке.

Другие вопросы по тегам