代码改变世界

sharepoint中的人员选择控件peopleeditor

2009-05-08 09:43  Virus-BeautyCode  阅读(1667)  评论(0编辑  收藏  举报

 

1、如果你设置栏不允许多重选择,也就是说只能选择一个人的话,获取栏的信息使用如下代码

SPFieldUserValue userValue = new SPFieldUserValue(web, item["WGMemberName"].ToString());

SPUser user=  userValue.User.Name;

2、如果你设置栏可以多重选择,可以选择多个人或者组的话,获取栏信息如下代码

List<SPUser> Users = new List<SPUser>();
            List
<SPGroup> Groups = new List<SPGroup>();

            
using (SPSite Site = new SPSite("http://windbell"))
            
{
                SPWeb Web 
= Site.RootWeb;
                SPList List 
= Web.Lists["测试列表"];
                SPItem Item 
= List.Items[0];

                SPFieldUserValueCollection Values 
= (SPFieldUserValueCollection)Item["用户和用户组"];

                
foreach (SPFieldUserValue Value in Values)
                
{
                    
if (User != null)
                    
{
                        SPUser User 
= Value.User;
                        Users.Add(User);
                    }

                    
else
                    
{
                        SPGroup Group 
= Web.Groups.GetByID(Value.LookupId);
                        Groups.Add(Group);
                        Users.AddRange(Group.Users);
                    }

                }

            }