我正在尝试从telerik radschedular的代码创建一个定期约会。
Appointment recurringAppointment = new Appointment("1",
Convert.ToDateTime("12/12/2012 3:30 PM").ToUniversalTime(),
Convert.ToDateTime("12/12/2012 4:00 PM").ToUniversalTime(),
"Sample appointment");
RecurrenceRange range = new RecurrenceRange();
range.Start = recurringAppointment.Start;
range.EventDuration = recurringAppointment.End - recurringAppointment.Start;
range.MaxOccurrences = 10;
HourlyRecurrenceRule rrule = new HourlyRecurrenceRule(2, range);
创建约会和重复规则后,我无法将它们组合在一起。 '复发规则' telerik的属性约会接受一个字符串。所以我无法将HourlyRecurrenceRule添加到我创建的约会中。
任何类型的c#代码帮助都将受到赞赏。
答案 0 :(得分:1)
正如Brian Mains在this article中指出的那样:
重复可以指定为每小时,每天,每周,每月或每小时 每年,并可以在某个日期或间隔结束。你看到了这个 规则作为字符串传递给约会;最后的结果 看起来如下:
DTSTART:20081122T143000Z \ r \ nDTEND:20081122T170000Z \ r \ nRRULE:FREQ = WEEKLY;
UNTIL = 20091021T040000Z; INTERVAL = 1 \ r \ n
在Telerik's examples中,您可以看到RecurrenceEditor接受RecurrenceRule对象,但Appointment的RecurrenceRule属性只接受RecurrenceRule对象的字符串表示。
在您的最后一行代码之后,只需添加此代码即可:
recurringAppointment.RecurrenceRule = rrule.ToString()
答案 1 :(得分:0)
看起来你从他们的文档中得到了代码:
http://www.telerik.com/help/aspnet-ajax/scheduler-working-with-recurring-appointments.html
继承代码的其余部分(来自上面的网址)
// Prints the string representation of the recurrence rule:
string rruleAsString = rrule.ToString();
Console.WriteLine("Recurrence rule:\n\n{0}\n", rruleAsString);
// The string representation can be stored in a database, etc.
// ...
// Then it can be reconstructed using TryParse method:
RecurrenceRule parsedRule;
RecurrenceRule.TryParse(rruleAsString, out parsedRule);
Console.WriteLine("After parsing (should be the same):\n\n{0}", parsedRule);
这两种类型无法“组合”,您可以使用重复规则字符串在数据库中保存约会,并在加载时使用TryParse方法重新创建具有相同属性的新重复规则。
希望有所帮助:)