0

我正在尝试从 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 Appointment 的“RecurrenceRule”属性接受一个字符串。所以我无法将我的 HourlyRecurrenceRule 添加到我创建的约会中。

对此的任何类型的 c# 代码帮助将不胜感激。

4

2 回答 2

1

正如 Brian Mains 在本文中指出的那样:

重复可以指定为每小时、每天、每周、每月或每年,并且可以在某个日期或间隔结束。您会看到此规则作为字符串传递给 Appointment;最终结果如下所示:

DTSTART:20081122T143000Z\r\nDTEND:20081122T170000Z\r\nRRULE:FREQ=WEEKLY;

UNTIL=20091021T040000Z;间隔=1\r\n

Telerik 的示例中,您可以看到 RecurrenceEditor 接受 RecurrenceRule 对象,但 Appointment 的 RecurrenceRule 属性只接受 RecurrenceRule 对象的字符串表示形式。

在你的最后一行代码之后,只需添加这个,它应该可以解决问题:

recurringAppointment.RecurrenceRule = rrule.ToString()
于 2012-12-10T06:00:53.967 回答
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 方法重新创建具有相同属性的新重复规则。

希望能帮助到你 :)

于 2012-12-10T05:49:17.257 回答