【问题标题】:How to set a group of users in to a sharepoint "persons or group" column - Programmatically如何将一组用户设置到共享点“人员或组”列中 - 以编程方式
【发布时间】:2012-10-09 12:11:58
【问题描述】:

我想将一组用户添加到我的共享点列表中的人员和组列 如何将其添加到列表中?

这就是我所做的:

            SPUserCollection users;
            SPList oSpList = oSPWeb.Lists["VProducts"];
            SPListItem item = oSpList.GetItemById(productId);
            users = (SPUserCollection)item["Followers"];

            users.Add(curUser.LoginName, email, curUser.Name, curUser.Notes);

我不知道我从列表中检索用户集的方式是否正确,以及添加用户并将其重新设置的方式是否正确。 最后一行给出了一个空指针异常。我尝试使用 SPGroup,但无法找到完成它的方法。

【问题讨论】:

    标签: sharepoint sharepoint-2013


    【解决方案1】:

    这应该适合你:

    SPList oSpList = oSPWeb.Lists["VProducts"];
    SPListItem item = oSpList.GetItemById(productId);
    
    SPFieldUserValueCollection users = GetFieldUserValueCollection(oSPWeb, item["Followers"])
    users.Add(new SPFieldUserValue(oSPWeb, curUser.ID, curUser.LoginName))
    
    item["Followers"] = users;
    item.Update();
    

    GetFieldUserValueCollection 方法代码如下:

    private SPFieldUserValueCollection GetFieldUserValueCollection(SPWeb web, object userField)
    {            
        //If userField object is null return empty collection
        if (userField == null)
            return new SPFieldUserValueCollection();                   
    
        return new SPFieldUserValueCollection(web, userField.ToString());
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 2012-11-20
      • 2013-01-09
      • 2011-04-03
      • 1970-01-01
      • 2021-08-21
      相关资源
      最近更新 更多