我想以编程方式将事件添加到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();
}
但我找不到如何在“Particiants”(“Attendee”)字段中添加值。
如果看起来抛出item.Xml
,则会有包含用户的ows_ParticipantsPicker元素,该元素由Sharepoint Calendar界面添加。
如何将参与者(参加者)添加到活动中?
答案 0 :(得分: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()。