2012-10-09 2 views
1

Je souhaite ajouter un ensemble d'utilisateurs à la colonne de personnes et de groupes de ma liste de points de partage Comment l'ajouter à la liste?Comment définir un groupe d'utilisateurs dans une colonne "personnes ou groupes" de point de partage - Par programme

Voici ce que je faisais:

  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); 

Je ne sais pas si la façon dont je récupère l'ensemble des utilisateurs de la liste est correcte et la façon d'ajouter un utilisateur et le ramener. La dernière ligne donne une exception de pointeur nul. J'ai essayé d'utiliser SPGroup, mais je ne pouvais pas trouver un moyen de le faire.

Répondre

1

Cela devrait fonctionner pour vous:

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(); 

Le code de la méthode est GetFieldUserValueCollection ci-dessous:

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()); 
} 
Questions connexes