SharePoint 2013 更新多個用戶字段(Person or Group)

有時咱們須要更新一個用戶到Person or Group類型的字段, 固然這個屬性容許設置多個用戶, 要如何才能添加新的用戶到該字段,同時還不影響原始存在的值。this

這裏咱們須要瞭解 SPFieldUserValueCollection類, 該類是包含user字段的全部值,而SPFieldUserValue繼承了SPFieldLookupVlaue.spa

 1 // 獲取List
 2 SPListItemCollection BGProfileCollection = SPContext.Current.Web.Lists[CSTListType.BGProfileListName].Items;
 3 
 4 // 根據條件去獲取須要更新的某一條數據
 5 SPListItem BGProfileListItem = BGProfileCollection.OfType<SPListItem>().Where(a => a.GetLookupField<int>(ConstVariables.AllBGProfileColumns.ColumnBGName, 0, 0) == Convert.ToInt32(this.ddl_BGNameList.SelectedItem.Value))..FirstOrDefault();
 6 
 7 // 獲取該條數據user字段的值
 8 SPFieldUserValueCollection values = (SPFieldUserValueCollection)BGProfileListItem ["MultiUser"];
 9 
10 //添加用戶到該集合, 這裏我使用當前用戶
11 values.Add(new SPFieldUserValue(SPContext.Current.Site.OpenWeb(), SPContext.Current.Web.CurrentUser.ID, SPContext.Current.Web.CurrentUser.Name));
12 
13 // 更新該字段的值
14 BGProfileListItem["MultiUser"] = values;
15 BGProfileListItem.Update();
相關文章
相關標籤/搜索