Можем ли мы посчитать элементы списка группой, используя listdata.svc в SharePoint 2010?
-
29-09-2020 - |
Вопрос
Я хочу отобразить панель инструментов на основе элементов списка SharePoint, мы можем получить количество предметов по группе, используя listdata.svc?
может использовать запрос ниже, чтобы получить счет для группы
... / _ vti_bin / listdata.svc / участники / $ count? $ filter= (eventon eq 'xxxx')
Однако у нас есть примерно 10 из них и не хочу вызывать список 10 itime.
Это возможно?У нас есть что-то вроде $ Groupby, похоже на $ orderby?
Решение
Я не верю, что вы сможете получить это с помощью службы отдыха.
Некоторые параметры, о которых я могу подумать, вы должны использовать веб-часть диаграммы для объединения данных, создание веб-части данных просмотра данных, которая издает XML или JSON, которая обрабатывает агрегацию для вас, которые вы ajax вызов или вызовите конечную точку отдыха и сделатьагрегация в обратном вызове.
Другие советы
Как это может помочь кому-то, ниже - фрагмент кода
// Group By - Json
function groupByJson(results, attr) {
var sum = {};
for (var i = 0 ; i < results.length; i++) {
var obj = results[i];
if (typeof sum[obj[attr]] == 'undefined') {
sum[obj[attr]] = 1;
}
else {
sum[obj[attr]]++;
}
}
//results.forEach(function (obj) {
// if (typeof sum[obj[attr]] == 'undefined') {
// sum[obj[attr]] = 1;
// }
// else {
// sum[obj[attr]]++;
// }
//});
return sum;
}
.....
....
var queryString = webUrl + "/_vti_bin/ListData.svc/Participants?$select=EventOn";
$.getJSON(queryString, function (data) {
if (data.d.results.length != 0) {
var results = groupByJson(data.d.results, "EventOn");
...
results[key];
.