javascript 使用客户端对象模型 (CSOM) 获取 Sharepoint 选定列表项

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/21701406/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-27 21:30:22  来源:igfitidea点击:

Getting Sharepoint selected list item by using Client Side Object Model (CSOM)

javascriptsharepointsharepoint-2010csom

提问by Vadim Gremyachev

Can anybody please help me by suggesting good site or sample code for Getting Sharepoint selected list item by using Client Side Object Model (CSOM) in sharepoint 2010. I need to print these selected items by using CSOM. Please help me for this. Thanks in adavance.

任何人都可以通过在 sharepoint 2010 中使用客户端对象模型 (CSOM) 为获取 Sharepoint 选定列表项提供良好的站点或示例代码来帮助我。我需要使用 CSOM 打印这些选定的项目。请帮我解决这个问题。提前致谢。

回答by Vadim Gremyachev

SP.ListOperation.Selection ClassProvides methods for selecting lists or list items, in particular SP.ListOperation.Selection.getSelectedItems() methodGets the list items being selected

SP.ListOperation.Selection 类提供选择列表或列表项的方法,特别是SP.ListOperation.Selection.getSelectedItems() 方法获取被选择的列表项

Example 1: Get selected items

示例 1:获取所选项目

function getSelectedItems()
{
    var context = SP.ClientContext.get_current();
    var selectedItems = SP.ListOperation.Selection.getSelectedItems(context);
    return selectedItems;
}

Note: Method SP.ListOperation.Selection.getSelectedItems returns the key/value collection > that contains the list items being selected (not SP.ListItem collection!)

注意:方法 SP.ListOperation.Selection.getSelectedItems 返回键/值集合 > 包含被选择的列表项(不是 SP.ListItem 集合!)

Example 2. Get selected SP.ListItem collection

示例 2. 获取选定的 SP.ListItem 集合

function getSelectedItems(OnSuccess,OnError)
{
    var context = SP.ClientContext.get_current();
    var listId = SP.ListOperation.Selection.getSelectedList(); //selected list Id
    var selectedItemIds = SP.ListOperation.Selection.getSelectedItems(context); //selected Items Ids

    var list = context.get_web().get_lists().getById(listId);
    var listItems = [];
    for (idx in selectedItemIds)
    {
        var item = list.getItemById(parseInt(selectedItemIds[idx].id));
        listItems.push(item);
        context.load(item);
    }
    context.executeQueryAsync(
       function() {
          OnSuccess(listItems);       
       },
       OnError
    ); 

}

//Usage
getSelectedItems(function(items){
    for (var i =0 ; i < items.length;i++)
    {
       console.log(items[i].get_item('Title'));  
    }  
},function(sender,args){
    console.log('An error occured: ' + args.get_message());
});