首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从SP.ListItem中用SP.Field值更新SP.PeoplePicker

从SP.ListItem中用SP.Field值更新SP.PeoplePicker
EN

Stack Overflow用户
提问于 2017-02-02 15:24:51
回答 1查看 2.9K关注 0票数 0

我试图通过使用JSOM来更新一个与另一个用户保持SP.Listitem的spUser。见代码波纹管

代码语言:javascript
运行
复制
// Query the picker for user information.
$.fn.getUserInfo2 = function () {
  var eleId = $(this).attr('id');
  var siteUrl = _spPageContextInfo.siteServerRelativeUrl;
  var spUsersInfo = GetPeoplePickerValues(eleId);
  var clientContext = new SP.ClientContext(siteUrl);
  var oList = clientContext.get_web().get_lists().getByTitle('VLS-dokument');
  var itemArray = [];

  for(i=0;i<$.miniMenu.i.results.length;i++)
  {
    var item = $.miniMenu.i.results[i];

    var oListItem = oList.getItemById(item.Id);
    oListItem.set_item('Informationsägare', SP.FieldUserValue.fromUser(spUsersInfo.Key));
    oListItem.update();
    itemArray.push(oListItem);
    clientContext.Load(itemArray[itemArray.Length - 1]);
  }

  clientContext.executeQueryAsync(Function.createDelegate(this, function () { alert(""); }), Function.createDelegate(this, function () { alert(""); }));

  return spUsersInfo; //.slice(0, -2)
}

spUsersInfo包含用户obj,peoplePicker.GetAllUserInfo()

SP.FieldUserValue.fromUser(spUsersInfo.Key)的回归是问题所在,因为应用程序崩溃后,oListItem.set_item(‘Informations’,SP.FieldUserValue.fromUser(spUsersInfo.Key))就成了问题所在;

如果不是密钥,那么应该将用户obj的哪一部分传递给SP.FieldUserValue.fromUser(spUsersInfo.Key)?还有别的办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-02 16:46:35

人员选择列实际上只是查找列,查找站点集合的用户信息列表。您可以通过在查找列表中指定所需项的ID,或者通过创建一个特殊的查找字段值对象来设置查找列(给定所需的文本值,让SharePoint完成查找ID的工作)。

根据文献资料,传递给SP.FieldUserValue.fromUser()的值应该是用户名作为字符串。实际上,这应该是用户信息列表中的显示名称。

因此,如果您不知道用户的查找ID,但确实知道它们的显示名称,则可以使用以下命令:oListItem.set_item('Informationsägare',SP.FieldUserValue.fromUser(username));

如果您不知道用户名,但知道用户的查找ID,则可以直接将该号码传递给item.set_item(),即oListItem.set_item('Informationsägare',lookupId);

如果来自spUsersInfo.Key方法的GetPeoplePickers()值是i:0#.w|Cool Person格式的,那么您可以拆分该值,只需将字符串Cool Person输入SP.FieldUserValue.fromUser()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42006052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档