Share point 2010 ItemAdding insert Recurrence data on calendar [英] Share point 2010 ItemAdding insert Recurrence data on calendar
本文介绍了Share point 2010 ItemAdding insert Recurrence data on calendar的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用 ItemAdding 事件在日历上添加一些重复数据.我的代码如下:
i am trying to add some Recurrence data on a calendar by using ItemAdding events. My code is as follows :
public override void ItemAdding(SPItemEventProperties properties)
{
string evtTitle = Console.ReadLine();
SPListCollection listCollectioon = properties.List.ParentWeb.Lists;
SPList list = listCollectioon.TryGetList("Calendar");
SPListItemCollection listItems = list.Items;
SPListItem recEvent = listItems.Add();
string recData = "<recurrence><rule>" +
"<firstDayOfWeek>su</firstDayOfWeek>" +
"<repeat><daily dayFrequency='1' /></repeat>" +
"<repeatInstances>1</repeatInstances></rule></recurrence>";
recEvent["Title"] = evtTitle;
recEvent["RecurrenceData"] = recData;
recEvent["EventType"] = 1;
recEvent["EventDate"] = new DateTime(2012, 3, 1, 8, 0, 0);
recEvent["EndDate"] = new DateTime(2012, 3, 12, 9, 0, 0);
recEvent["UID"] = System.Guid.NewGuid();
recEvent["TimeZone"] = 13;
recEvent["Recurrence"] = -1;
recEvent["XMLTZone"] = "<timeZoneRule>" +
"<standardBias>480</standardBias>" +
"<additionalDaylightBias>-60</additionalDaylightBias>" +
"<standardDate><transitionRule month='10' day='su' weekdayOfMonth='last' />" +
"<transitionTime>2:0:0</transitionTime></standardDate>" +
"<daylightDate><transitionRule month='4' day='su' weekdayOfMonth='first' />" +
"<transitionTime>2:0:0</transitionTime>" +
"</daylightDate></timeZoneRule>";
recEvent.Update();
listItems.Add();
base.ItemAdding(properties);
}
但问题是它在同一日期创建了 10 个单独的事件.我无法得到这个原因以及我如何解决这个问题?
But problem is that it is creating 10 separate events on a same date. I am unable to get the reason of this and how i resolve this issue?
推荐答案
这对我有用.
SPList calendar = web.Lists["Calendar"];
SPListItem recEvent = calendar.Items.Add();
//string recData = "<recurrence><rule>" +
// "<firstDayOfWeek>su</firstDayOfWeek>" +
// "<repeat><daily dayFrequency=\"1\" /></repeat>" +
// "<repeatInstances>1</repeatInstances></rule></recurrence>";
string recData = "<recurrence><rule><firstDayOfWeek>su</firstDayOfWeek><repeat><daily dayFrequency=\"1\" /></repeat><windowEnd>2012-02-26T01:00:00Z</windowEnd></rule></recurrence>";
recEvent["Title"] = "Test 1";
recEvent["RecurrenceData"] = recData;
recEvent["EventType"] = 1;
recEvent["Start Time"] = new DateTime(2012, 2, 21, 10, 0, 0);
recEvent["End Time"] = new DateTime(2012, 2, 25, 11, 0, 0);
recEvent["TimeZone"] = 10;
recEvent["Recurrence"] = true;
recEvent["XMLTZone"] = "<timeZoneRule><standardBias>300</standardBias><additionalDaylightBias>-60</additionalDaylightBias><standardDate><transitionRule month='11' day='su' weekdayOfMonth='first' /><transitionTime>2:0:0</transitionTime></standardDate><daylightDate><transitionRule month='3' day='su' weekdayOfMonth='second' /><transitionTime>2:0:0</transitionTime></daylightDate></timeZoneRule>";
recEvent.Update();
calendar.Update();
repeatInstance"如果你想限制重复事件为一定数量或使用windowEnd"
"repeatInstance" if you want to limit the recurrence events to certain number or use "windowEnd"
这篇关于Share point 2010 ItemAdding insert Recurrence data on calendar的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文