0

我想以编程方式将事件添加到 SharePoint 2010 中的日历。我获取事件列表并将元素添加到此列表。

SPList list = web.Lists.TryGetList(sCalendarName);
if (list != null)
{
   SPListItem item = list.Items.Add();
   item["Title"] = "New Event";
   item["Description"] = "New Event created using SharePoint Object Model";
   item["Location"] = "First Floor";
   item["EventDate"] = DateTime.Now;
   item["EndDate"] = DateTime.Now.AddDays(2);
   item["Category"] = "Business";
   item["fAllDayEvent"] = false;
   item["Author"] = web.EnsureUser(@"domen\username");
   item.Update();
}

但我找不到如何向“参与者”(“参加者”)字段添加值。如果您看一下,item.Xml就会发现 ows_ParticipantsPicker 元素,其中包含由 Sharepoint 日历界面添加的用户。

如何将参与者(参加者)添加到活动中?

4

1 回答 1

1

您是否尝试过使用 SPFieldUserValueCollection 作为字段的值?

SPFieldUserValueCollection values = new SPFieldUserValueCollection();
SPUser user = web.EnsureUser(@"domen\username");
values.Add(new SPFieldUserValue(web, user.ID, user.Name));      
item["Participants"] = values;

此外,不要使用 SPList.Items.Add(),它会在添加新项目之前获取所有项目。使用 SPList.AddItem()。

于 2013-11-08T18:27:30.330 回答