SharePoint 日历事件参与者



我想以编程方式将事件添加到 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(@"domenusername");
   item.Update();
}

但是我找不到如何向"参与者"("与会者")字段添加值。如果您查看抛出item.Xml则ows_ParticipantsPicker元素包含由Sharepoint日历界面添加的用户。

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

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

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

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

最新更新