从PeopleEditor控件中取出多用户并更新到列表
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                从PeopleEditor控件中取出多用户并更新到列表
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                如果一個(gè)列表中有一個(gè)字段類型為用戶或用戶組,并且設(shè)置為用戶,允許多值的話,那么用代碼進(jìn)行更新的時(shí)候就必須將這個(gè)字段的值賦成SPFieldUserValueCollection類型,以下代碼即為從PeopleEditor控件中取出多個(gè)用戶并返回一個(gè)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 }
更新的時(shí)候直接將item["user"]=GetUsersValue(pe);然后Update一下即可。
另外如果需要通過代碼將多用戶賦值給PeopleEditor控件,只需要設(shè)置PeopleEditor控件的CommaSeparatedAccounts屬性為User1Name,User2Name這樣即可,即為每個(gè)用戶的DisplayName,然后之間用“,”隔開就可以了,代碼如下:
1 pe.CommaSeparatedAccounts="User1Name,User2Name";
?
轉(zhuǎn)載于:https://www.cnblogs.com/leolis/archive/2012/01/05/2313786.html
總結(jié)
以上是生活随笔為你收集整理的从PeopleEditor控件中取出多用户并更新到列表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 梦到抓鱼抓螃蟹预示着什么
- 下一篇: 为什么梦到自己结婚
