zoukankan      html  css  js  c++  java
  • Insert Multiple User in SharePoint list

    Objective

    In this article, I am going to explain, how to insert multi user or more than one user in Share point list.

    About SharePoint list where value would be inserted

    1. There is a list called TestingUser.
    2. There is one column in list called UserTest.
    3. This column is of type Person or Group.
    4. Allow multiple selections are true.
    5. Allow selection is set to People and Group.


    TestingUser list looks like below,

    1.gif

    How to Insert?

    Let us suppose, you need to add more than one user at single time in SharePoint List. Users' values may come from an Active Directory or metadata. All the users are in a string as comma or semicolon separated value. Let us suppose users are in below format.

    string
    usercontrolvalue = "dhananjay,arun,anoj,patra,mub";

    We need to inert these multiple users in a column of type People or Group in SharePoint list.

    Step 1

    First we need to split name of all the users from the string. Since in our case users are comma separated so below code will make a string array with users as value at different index.

    string
    [] userarray = usercontrolvalue.Split(',');

    Step 2

    Now we need to convert users as string to SPFieldUserValue. Below function is taking user name as string and converting that into SPFieldUserValue.

    _Web variable is denoting current web where List is part of.

    public
    SPFieldUserValue ConvertLoginName(string userid)
    {
    SPUser requireduser = _web.EnsureUser(userid);
    SPFieldUserValue uservalue = new SPFieldUserValue(_web, requireduser.ID, requireduser.LoginName);
    return uservalue;
    }

    Step 3

    We need to make instance of SPFieldUserValueCollection

    SPFieldUserValueCollection
    usercollection = new SPFieldUserValueCollection();

    Step 4

    For all the user; we need to convert that as SPFieldUserValue then add that them to SPFieldUserValueCollection instance

    for
    (int i = 0; i < userarray.Length; i++)
    {
    SPFieldUserValue usertoadd = ConvertLoginName(userarray[i]);
    usercollection.Add(usertoadd);
    }

    Only we need to perform above said task. For your reference entire code as below,

    Entire code


    using System;
    using
    System.Collections.Generic;
    using
    System.Linq;
    using
    System.Web;
    using
    System.Web.UI;
    using
    System.Web.UI.WebControls;
    using
    Microsoft.SharePoint;
    namespace TestingMultipleUsre
    {
    public partial class _Default : System.Web.UI.Page
    {
    SPWeb _web;
    SPSite _site;
    SPList
    myList
    protected void Page_Load(object sender, EventArgs e)
    {
    string usercontrolvalue = "dhananjay,arun,anoj,patra,mub";
    _site = new SPSite("http://adfsaccount:2222/");
    _web = _site.OpenWeb();
    myList = _web.Lists["TestingUser"];
    _web.AllowUnsafeUpdates = true ;
    myList = _web.Lists["TestingUser"];
    SPListItem item = myList.Items.Add();
    SPFieldUserValueCollection usercollection = new SPFieldUserValueCollection();
    string[] userarray = usercontrolvalue.Split(',');
    for (int i = 0; i < userarray.Length; i++)
    {
    SPFieldUserValue usertoadd = ConvertLoginName(userarray[i]);
    usercollection.Add(usertoadd);
    }
    item["UserTest"] = usercollection;
    item.Update();
    }
    public SPFieldUserValue ConvertLoginName(string userid)
    {
    SPUser requireduser = _web.EnsureUser(userid);
    SPFieldUserValue uservalue = new SPFieldUserValue(_web, requireduser.ID, requireduser.LoginName);
    return uservalue;
    }
    }
    }

    Note
    :
    Make sure all the users; you are adding are user of the Sharepoint.

    Reference:

    SPWeb.EnsureUser 方法 (Microsoft.SharePoint)

    Windows SharePoint Services 3
     
    此主题尚未评级 - 评价此主题
     
    Checks whether the specified login name belongs to a valid user of the Web site, and if the login name does not already exist, adds it to the Web site. 命名空间: Microsoft.SharePoint
    程序集:Microsoft.SharePoint (在 microsoft.sharepoint.dll 中)
    复制
    public SPUser EnsureUser (
    	string loginName
    )
    
  • 相关阅读:
    小程序 canvas实现图片预览,图片保存
    MySQL实现排名并查询指定用户排名功能
    微信小程序canvas把正方形图片绘制成圆形
    WINDOW 安装ImageMagick服务端和PHP的imagick插件
    安装PHP扩展32位与64位的误区(x86与x64的查看)
    linux 安装 ImageMagick 和 imagick 扩展
    php 获取顶级域名
    php中通过Hashids将整数转化为唯一字符串
    yii2项目中运行composer 过程中遇到的问题
    yii2 mysql根据多个字段的数据计算排序
  • 原文地址:https://www.cnblogs.com/csts/p/2482170.html
Copyright © 2011-2022 走看看