我想以编程方式将事件添加到 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()。