从SharePoint列表中获取不同的数据并推入表中

时间:2018-12-16 09:04:07

标签: javascript sharepoint distinct-values

我有一个代码可以从SharePoint列表中获取价值并将其显示在表上。下面是代码:

$(document).ready(function() {    
getItems();    
});  


function getItems() {  

$.ajax({  

    async: true,  
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('Global')/items?$filter=Title eq Domain",  
    method: "GET",  

    headers: {  
        "accept": "application/json;odata=verbose",  
        "content-type": "application/json;odata=verbose"  

    },  
    success: function(data) {  
        data = data.d.results;  
        console.log(data);  
        $.each(data, function(index, value) {  

            if (value.Title == null) {
                value.Title = "";}
            else{
                value.Title = value.Title ;}

            if (value.Grouped_x0020_OPUs == null) {
                value.Grouped_x0020_OPUs = "";}
            else{
                value.Grouped_x0020_OPUs = value.Grouped_x0020_OPUs;}       


            if (value.Phase == null) {
                value.Phase = "";}
            else{
                value.Phase = value.Phase ;}

            if (value.Stage == null) {
                value.Stage = "";}
            else{
                value.Stage = value.Stage ;}


            var html = "<tr><td>" + value.Title + "</td><td>" + value.Grouped_x0020_OPUs + "</td><td>" + value.Phase + "</td><td>" + value.Stage + "</td></tr>";  
            $('.table tbody').append(html);

        });

        table = $('#table_id').DataTable();

    },  
    error: function(error) {  
        console.log(JSON.stringify(error));  

    }  

})  


}

上面的代码将获取列表中的所有值。我的问题是如何从列表中获取诸如value.Grouped_x0020_OPUs的值,并删除重复的值,然后将其显示在表上?

请帮助我。非常感谢。

1 个答案:

答案 0 :(得分:0)

不支持此功能。请参阅here。您可以尝试将caml与group by子句一起使用,也可以像这样实现自己的客户端逻辑;

var groupedOPUs= []; //should be declared at the beginning of the success function.
if (groupedOPUs.indexOf(value.Grouped_x0020_OPUs) < 0){
        var html = "<tr><td>" + value.Title + "</td><td>" + value.Grouped_x0020_OPUs + "</td><td>" + value.Phase + "</td><td>" + value.Stage + "</td></tr>";  
        $('.table tbody').append(html);
        groupedOPUs.push(value.Grouped_x0020_OPUs);
}