从PeopleEditor控件中取出多用户并更新到列表
生活随笔
收集整理的這篇文章主要介紹了
从PeopleEditor控件中取出多用户并更新到列表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果一個列表中有一個字段類型為用戶或用戶組,并且設置為用戶,允許多值的話,那么用代碼進行更新的時候就必須將這個字段的值賦成SPFieldUserValueCollection類型,以下代碼即為從PeopleEditor控件中取出多個用戶并返回一個SPFieldUserValueCollection類型的值:
1 /// <summary>2 /// 從人員選取器中獲取多用戶并返回SPFieldUserValueCollection類型
3 /// </summary>
4 /// <param name="pe">人員選取器</param>
5 /// <returns></returns> ToString:user1ID;#user1Name;#user2ID;#user2Name
6 public SPFieldUserValueCollection GetUsersValue(PeopleEditor pe)
7 {
8 SPFieldUserValueCollection result = new SPFieldUserValueCollection();
9 using (SPSite mySite = new SPSite(SPContext.Current.Site.ID))
10 {
11 using (SPWeb myWeb = mySite.RootWeb)
12 {
13 if (pe.CommaSeparatedAccounts != "")
14 {
15 foreach (string item in pe.CommaSeparatedAccounts.Split(','))
16 {
17 SPUser u = myWeb.EnsureUser(item);
18 SPFieldUserValue uservalue = new SPFieldUserValue(myWeb, u.ID, u.Name);
19 result.Add(uservalue);
20 }
21 }
22 }
23 }
24 return result;
25 }
更新的時候直接將item["user"]=GetUsersValue(pe);然后Update一下即可。
另外如果需要通過代碼將多用戶賦值給PeopleEditor控件,只需要設置PeopleEditor控件的CommaSeparatedAccounts屬性為User1Name,User2Name這樣即可,即為每個用戶的DisplayName,然后之間用“,”隔開就可以了,代碼如下:
1 pe.CommaSeparatedAccounts="User1Name,User2Name";
?
轉載于:https://www.cnblogs.com/leolis/archive/2012/01/05/2313786.html
總結
以上是生活随笔為你收集整理的从PeopleEditor控件中取出多用户并更新到列表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到抓鱼抓螃蟹预示着什么
- 下一篇: 功能:人脉(People Hub)7-固