我有一个代码可以从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的值,并删除重复的值,然后将其显示在表上?
请帮助我。非常感谢。
答案 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);
}