【问题标题】:How to use people picker for multiple users? SharePoint 2013如何为多个用户使用人员选择器?共享点 2013
【发布时间】:2016-12-07 18:14:50
【问题描述】:

我创建了一个 from 并在其中添加了一些文本框,并且我创建了一个运行良好的人员选择器,我什至可以在我的领域中选择多个用户,但如果我在列表中的 peoplepicker 中选择 2 个人正在只救了1个人。因此,如果我在这样的人员选择器中选择超过 1 个用户:

在我的列表中,只有名字是这样保存的:

Audienca 列是单行文本

如何保存两个用户

我的人员选择器代码是这样的:

My ascx

 <SharePoint:ScriptLink ID="ScriptLink1" Name="clienttemplates.js" runat="server" LoadAfterUI="true" Localizable="false" />
<SharePoint:ScriptLink ID="ScriptLink2" Name="clientforms.js" runat="server" LoadAfterUI="true" Localizable="false" />
<SharePoint:ScriptLink ID="ScriptLink3" Name="clientpeoplepicker.js" runat="server" LoadAfterUI="true" Localizable="false" />
<SharePoint:ScriptLink ID="ScriptLink4" Name="autofill.js" runat="server" LoadAfterUI="true" Localizable="false" />
<SharePoint:ScriptLink ID="ScriptLink5" Name="sp.js" runat="server" LoadAfterUI="true" Localizable="false" />
<SharePoint:ScriptLink ID="ScriptLink6" Name="sp.runtime.js" runat="server" LoadAfterUI="true" Localizable="false" />
<SharePoint:ScriptLink ID="ScriptLink7" Name="sp.core.js" runat="server" LoadAfterUI="true" Localizable="false" />


<div id="audienceSelector" style="float: left;"></div>
    <div class="clear">&nbsp;</div>
    <div class="clear">&nbsp;</div>
    <div class="clear">&nbsp;</div>
    <div class="clear">&nbsp;</div>

C#代码

 initializePeoplePicker('audienceSelector');//this is on top 


function initializePeoplePicker(peoplePickerElementId) {

// Create a schema to store picker properties, and set the properties.
var schema = {};
schema['PrincipalAccountType'] = 'User,DL,SecGroup,SPGroup';
schema['SearchPrincipalSource'] = 15;
schema['ResolvePrincipalSource'] = 15;
schema['AllowMultipleValues'] = true;
schema['MaximumEntitySuggestions'] = 50;
schema['Width'] = '300px';


// Render and initialize the picker. 
// Pass the ID of the DOM element that contains the picker, an array of initial
// PickerEntity objects to set the picker value, and a schema that defines
// picker properties.
SPClientPeoplePicker_InitStandaloneControlWrapper(peoplePickerElementId, null, schema);

}

这是我尝试保存数据时的代码

    var itemCreateInfo = new SP.ListItemCreationInformation();
    var listItem = quizList.addItem(itemCreateInfo);
    var peoplePicker = SPClientPeoplePicker.SPClientPeoplePickerDict.audienceSelector_TopSpan;
    // Get information about interviewer
    var users = peoplePicker.GetAllUserInfo();

    for (var i = 0; i < 1; i++) {
        user = users[0];
        interviewerName = user["DisplayText"];
    }

    listItem.set_item("Title", $('#newTestName').val());
    //listItem.set_item("Audienca", $('#audienceSelector').val().toString());

    listItem.set_item("Audienca", interviewerName);

【问题讨论】:

    标签: javascript c# asp.net arrays sharepoint


    【解决方案1】:

    如果您将 For 循环中的 users 数组更改为使用 [I] 而不是 [0] 会发生什么:

    for (var i = 0; i < 1; i++) {
        user = users[i];
        interviewerName = user["DisplayText"];
    }
    

    另外我会使用一个人或组列,这将带来更多功能,如presence indicatiors。确保列表中的字段设置为允许多选 in the list settings.

    【讨论】:

      猜你喜欢
      • 2019-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多